Generic hardware access library
/home/cschwick/hal/generic/include/hal/WriteCommand.hh
Go to the documentation of this file.
00001 #ifndef __WriteCommand
00002 #define __WriteCommand
00003 
00004 #include <string>
00005 
00006 #include "hal/SequencerCommand.hh"
00007 #include "hal/CommandSequence.hh"
00008 #include "hal/HardwareDeviceInterface.hh"
00009 #include "hal/BusAdapterException.hh"
00010 
00011 namespace HAL {
00012 
00037 class WriteCommand : public SequencerCommand {
00038 public:
00039   WriteCommand( std::string item,
00040                 CommandSequence& sequence );
00041 
00042   virtual ~WriteCommand() {};
00043 
00044   void excecute( const HardwareDeviceInterface& device ) const
00045     throw( BusAdapterException,
00046            MaskBoundaryException );
00047 
00051   void setVerify();
00052 
00056   void setOffsetPointer( uint32_t* offsetPtr );
00057         
00061   void setDataPointer( uint32_t* dataPtr );
00062         
00066   void setData( uint32_t data );
00067         
00071   void setOffset( uint32_t offset );
00072 
00073 private:
00074   CommandSequence& sequence;
00075   std::string item;
00076   uint32_t*  dataPtr;
00077   uint32_t*  offsetPtr;
00078   uint32_t   offset, constantData;
00079   HalVerifyOption verifyFlag;
00080 };
00081 
00082 } /* namespace HAL */
00083 
00084 #endif /* __WriteCommand */