
#ifndef _QPLUG_IF_H_
#define _QPLUG_IF_H_

#include <vector>
#include "Qdos.h"

//  Restrictions on argument numbers (else GUI gets too big and slow)

#define N_MAX_QPLUG_OUTPUT_ARGS 30
#define MAX_DATA_0BJECT_NAME_LENGTH 250

#ifdef WINDOWS
#if defined DLL_EXPORT
#define DECLDIR __declspec(dllexport)
#else
#define DECLDIR __declspec(dllimport)
#endif
#else
#define DECLDIR
#endif

 typedef vector<QdObject_var> QplugArgList;

/* QSAS plug-in return-status codes */

typedef enum QplugReturnStatus_e {
    QPLUG_SUCCESS,
    QPLUG_WARNING,
    QPLUG_FAILURE
} QplugReturnStatus;

/* Globals for passing output fields to plug-ins */

extern char d_o_name_buf[MAX_DATA_0BJECT_NAME_LENGTH];

char * GetSlotText(int n_slot);
void SetSlotText(int n_slot, const char * text);

char * QplugNewSTR(const char * in_str);

  
  /* called by external functions to write to message text area */
  
  extern void QplugAppendTextDisplay (const char *);




#endif

