51 lines
2.1 KiB
C
51 lines
2.1 KiB
C
|
|
/*-----------------------------------------------------------------------
|
|
S i t e A b s t r a c t i o n L a y e r
|
|
|
|
With ANSTO using SICS as well it became necessary to separate the
|
|
general parts of SICS from the installation specific components. Each
|
|
installation will have a separate set of drivers and, to some
|
|
extent, instrument specific commands. Such code has to be in a
|
|
separate library. Access to this library is through an interface which
|
|
consists of a structure containing pointers to functions which allow
|
|
for the creation of site specific drivers and commands. Moreover, the
|
|
site specific library has to implement a function, getSite, which
|
|
returns the appropriate data structure for the site for which SICS is
|
|
being compiled.
|
|
------------------------------------------------------------------------*/
|
|
#ifndef SICSSITE
|
|
#define SICSSITE
|
|
#include <sics.h>
|
|
#include <motor.h>
|
|
#include <countdriv.h>
|
|
#include <HistDriv.i>
|
|
#include <stringdict.h>
|
|
#include <velo.h>
|
|
#include <tcl.h>
|
|
#include <codri.h>
|
|
#include <evcontroller.h>
|
|
#include <scan.h>
|
|
|
|
typedef struct {
|
|
void (*AddSiteCommands) (SicsInterp * pSics);
|
|
void (*RemoveSiteCommands) (SicsInterp * pSics);
|
|
pMotor(*CreateMotor) (SConnection * pCon, int argc, char *argv[]);
|
|
pCounterDriver(*CreateCounterDriver) (SConnection * pCon,
|
|
int argc, char *argv[]);
|
|
HistDriver *(*CreateHistogramMemoryDriver) (char *name,
|
|
pStringDict pOption);
|
|
pVelSelDriv(*CreateVelocitySelector) (char *name, char *array,
|
|
Tcl_Interp * pTcl);
|
|
pCodri(*CreateControllerDriver) (SConnection * pCon, int argc,
|
|
char *argv[]);
|
|
pEVControl(*InstallEnvironmentController) (SicsInterp * pSics,
|
|
SConnection * pCon, int argc,
|
|
char *argv[]);
|
|
int (*ConfigureScan) (pScanData self, char *option);
|
|
void (*KillSite) (void *pData);
|
|
} Site, *pSite;
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
pSite getSite(void);
|
|
#endif
|