/* * Nomad Instrument Control Software * * Copyright 2011 Institut Laue-Langevin * * Licensed under the EUPL, Version 1.1 only (the "License"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * * http://joinup.ec.europa.eu/software/page/eupl * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. */ #ifndef PERFECTGENERICCAMDRIVER_H #define PERFECTGENERICCAMDRIVER_H #include "drivers/gigecam/genericam/GenericCamState.h" namespace genericam { /*! * \class PerfectGenericCamDriver * \brief Perfect implementation class for the GenericCam device driver * * This class is a perfect implementation of GenericCam device driver. * On start command, all actual values become target's ones. */ class PerfectGenericCamDriver: public GenericCamState { public: /*! * \brief Constructor * \param[in] owner The device driver main class link */ PerfectGenericCamDriver(GenericCamDriver* owner); /*! * \brief Destructor */ virtual ~PerfectGenericCamDriver(); /*! * \brief Init command implementation */ virtual void init(); /*! * \brief Clear command implementation */ virtual void clear(); /*! * \brief Write Param command implementation */ virtual void writeParam(); /*! * \brief Read command implementation */ virtual void read(); /*! * \brief Synchronize Read command implementation */ virtual void synchroniseRead(); /*! * \brief Start command implementation */ virtual void start(); /*! * \brief Resume command implementation */ virtual void resume(); /*! * \brief Pause command implementation */ virtual void pause(); /*! * \brief Stop command implementation */ virtual void stop(); /*! * \brief Read Infos command implementation */ virtual void readStatus(); /*! * \brief Read Infos command implementation */ virtual void readInfos(); /*! * \brief Regroup command implementation */ // virtual void regroup(); }; } #endif //PERFECTGENERICCAMDRIVER_H