8#ifndef DRV_NDFileNexus_H 
    9#define DRV_NDFileNexus_H 
   13#include <libxml/parser.h> 
   17#define NDNexusFileVersion 1.0 
   20#define NDFileNexusTemplatePathString "TEMPLATE_FILE_PATH" 
   21#define NDFileNexusTemplateFileString "TEMPLATE_FILE_NAME" 
   22#define NDFileNexusTemplateValidString "TEMPLATE_FILE_VALID" 
   23#define NUM_ND_FILE_NEXUS_PARAMS (sizeof(NDFileNexusParamString)/sizeof(NDFileNexusParamString[0])) 
   33    NDFileNexus(
const char *portName, 
int queueSize, 
int blockingCallbacks,
 
   34                 const char *NDArrayPort, 
int NDArrayAddr,
 
   35                 int priority, 
int stackSize);
 
   42    asynStatus 
writeOctet(asynUser *pasynUser, 
const char *value,
 
   43                                    size_t nChars, 
size_t *nActual);
 
   46    #define FIRST_NDFILE_NEXUS_PARAM NDFileNexusTemplatePath 
   51    NXhandle nxFileHandle;
 
   59    int processNode(xmlNode *curNode, 
NDArray *);
 
   60    int processStreamData(
NDArray *);
 
   61    void getAttrTypeNSize(
NDAttribute *pAttr, 
int *retType, 
int *retSize);
 
   62    void iterateNodes(xmlNode *curNode, 
NDArray *pArray);
 
   63    void findConstText(xmlNode *curNode, 
char *outtext);
 
   64    void * allocConstValue(
int dataType, 
size_t length);
 
   65    void constTextToDataType(
char *inText, 
int dataType, 
void *pValue);
 
   66    int typeStringToVal( 
const char * typeStr );
 
   67    void loadTemplateFile();
 
 
NDDataType_t dataType
Definition ADPylon.cpp:60
#define NDPLUGIN_API
Definition NDPluginAPI.h:41
int NDFileOpenMode_t
Definition NDPluginFile.h:17
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data,...
Definition NDArray.h:99
NDAttribute class; an attribute has a name, description, source type, source string,...
Definition NDAttribute.h:96
NDAttributeList.h.
Definition NDAttributeList.h:21
Writes NDArrays in the NeXus file format.
Definition NDFileNexus.h:31
int NDFileNexusTemplateFile
Definition NDFileNexus.h:47
int NDFileNexusTemplatePath
Definition NDFileNexus.h:45
int NDFileNexusTemplateValid
Definition NDFileNexus.h:48
virtual asynStatus writeOctet(asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual)
Called when asyn clients call pasynOctet->write().
Definition NDPluginDriver.cpp:804
Base class for NDArray file writing plugins; actual file writing plugins inherit from this class.
Definition NDPluginFile.h:28
virtual asynStatus readFile(NDArray **pArray)=0
Read NDArray data from a file; pure virtual function that must be implemented by derived classes.
virtual asynStatus closeFile()=0
Close the file opened with NDPluginFile::openFile; pure virtual function that must be implemented by ...
virtual asynStatus openFile(const char *fileName, NDFileOpenMode_t openMode, NDArray *pArray)=0
Open a file; pure virtual function that must be implemented by derived classes.
virtual asynStatus writeFile(NDArray *pArray)=0
Write NDArray data to a file; pure virtual function that must be implemented by derived classes.