ADApp/pluginSrc/NDFileTIFF.cpp
NDFileTIFF::NDFileTIFF(const char *portName, int queueSize, int blockingCallbacks,
                       const char *NDArrayPort, int NDArrayAddr,
                       int priority, int stackSize)
    /* Invoke the base class constructor.
     * We allocate 2 NDArrays of unlimited size in the NDArray pool.
     * This driver can block (because writing a file can be slow), and it is not multi-device.  
     * Set autoconnect to 1.  priority and stacksize can be 0, which will use defaults. */
    : NDPluginFile(portName, queueSize, blockingCallbacks,
                   NDArrayPort, NDArrayAddr, 1, NUM_NDFILE_TIFF_PARAMS,
                   2, 0, asynGenericPointerMask, asynGenericPointerMask, 
                   ASYN_CANBLOCK, 1, priority, stackSize)
{
    //static const char *functionName = "NDFileTIFF";

    /* Set the plugin type string */    
    setStringParam(NDPluginDriverPluginType, "NDFileTIFF");
    this->supportsMultipleArrays = 0;

    this->pAttributeId = NULL;
    this->pFileAttributes = new NDAttributeList;
}
/** Constructor for NDFileTIFF; all parameters are simply passed to NDPluginFile::NDPluginFile.
  * \param[in] portName The name of the asyn port driver to be created.
  * \param[in] queueSize The number of NDArrays that the input queue for this plugin can hold when 
  *            NDPluginDriverBlockingCallbacks=0.  Larger queues can decrease the number of dropped arrays,
  *            at the expense of more NDArray buffers being allocated from the underlying driver's NDArrayPool.
  * \param[in] blockingCallbacks Initial setting for the NDPluginDriverBlockingCallbacks flag.
  *            0=callbacks are queued and executed by the callback thread; 1 callbacks execute in the thread
  *            of the driver doing the callbacks.
  * \param[in] NDArrayPort Name of asyn port driver for initial source of NDArray callbacks.
  * \param[in] NDArrayAddr asyn port driver address for initial source of NDArray callbacks.
  * \param[in] priority The thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.
  * \param[in] stackSize The stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.
  */
Constructor for NDFileTIFF; all parameters are simply passed to NDPluginFile::NDPluginFile.
\param[in] portName The name of the asyn port driver to be created.
\param[in] queueSize The number of NDArrays that the input queue for this plugin can hold when
NDPluginDriverBlockingCallbacks=0.  Larger queues can decrease the number of dropped arrays,
at the expense of more NDArray buffers being allocated from the underlying driver's NDArrayPool.
\param[in] blockingCallbacks Initial setting for the NDPluginDriverBlockingCallbacks flag.
0=callbacks are queued and executed by the callback thread; 1 callbacks execute in the thread
of the driver doing the callbacks.
\param[in] NDArrayPort Name of asyn port driver for initial source of NDArray callbacks.
\param[in] NDArrayAddr asyn port driver address for initial source of NDArray callbacks.
\param[in] priority The thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.
\param[in] stackSize The stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.
Constructor for NDFileTIFF ; all parameters are simply passed to NDPluginFile :: NDPluginFile . \ param [ in ] portName The name of the asyn port driver to be created . \ param [ in ] queueSize The number of NDArrays that the input queue for this plugin can hold when NDPluginDriverBlockingCallbacks = 0 . Larger queues can decrease the number of dropped arrays at the expense of more NDArray buffers being allocated from the underlying driver ' s NDArrayPool . \ param [ in ] blockingCallbacks Initial setting for the NDPluginDriverBlockingCallbacks flag . 0 = callbacks are queued and executed by the callback thread ; 1 callbacks execute in the thread of the driver doing the callbacks . \ param [ in ] NDArrayPort Name of asyn port driver for initial source of NDArray callbacks . \ param [ in ] NDArrayAddr asyn port driver address for initial source of NDArray callbacks . \ param [ in ] priority The thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags . \ param [ in ] stackSize The stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags .
NDFileTIFF::NDFileTIFF(const char *portName, int queueSize, int blockingCallbacks,
                       const char *NDArrayPort, int NDArrayAddr,
                       int priority, int stackSize)
    : NDPluginFile(portName, queueSize, blockingCallbacks,
                   NDArrayPort, NDArrayAddr, 1, NUM_NDFILE_TIFF_PARAMS,
                   2, 0, asynGenericPointerMask, asynGenericPointerMask, 
                   ASYN_CANBLOCK, 1, priority, stackSize)
{
    setStringParam(NDPluginDriverPluginType, "NDFileTIFF");
    this->supportsMultipleArrays = 0;
    this->pAttributeId = NULL;
    this->pFileAttributes = new NDAttributeList;
}
NDFileTIFF :: NDFileTIFF ( const char * portName , int queueSize , int blockingCallbacks , const char * NDArrayPort , int NDArrayAddr , int priority , int stackSize ) : NDPluginFile ( portName , queueSize , blockingCallbacks , NDArrayPort , NDArrayAddr , 1 , NUM_NDFILE_TIFF_PARAMS , 2 , 0 , asynGenericPointerMask , asynGenericPointerMask , ASYN_CANBLOCK , 1 , priority , stackSize ) { setStringParam ( NDPluginDriverPluginType , " " ) ; this -> supportsMultipleArrays = 0 ; this -> pAttributeId = NULL ; this -> pFileAttributes = new NDAttributeList ; }
Constructor for NDFileTIFF; all parameters are simply passed to NDPluginFile::NDPluginFile.
Constructor for NDFileTIFF ; all parameters are simply passed to NDPluginFile :: NDPluginFile .
/* Invoke the base class constructor.
     * We allocate 2 NDArrays of unlimited size in the NDArray pool.
     * This driver can block (because writing a file can be slow), and it is not multi-device.  
     * Set autoconnect to 1.  priority and stacksize can be 0, which will use defaults. */ //static const char *functionName = "NDFileTIFF"; /* Set the plugin type string */