Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ippCommand.h

Go to the documentation of this file.
00001 // 
00002 // DISCLAIMER: 
00003 //  This software was produced by the National Institute of Standards 
00004 //  and Technology (NIST), an agency of the U.S. government, and by statute is 
00005 //  not subject to copyright in the United States.  Recipients of this 
00006 //  software assume all responsibility associated with its operation,
00007 //  modification,maintenance, and subsequent redistribution. 
00008 //
00009 //  See NIST Administration Manual 4.09.07 b and Appendix I. 
00010 //
00011 // @file   ippCommand.h
00012 // @brief  Base class for all ippdme Command classes
00013 // @author ER
00014 // @date   2005.10.05
00015 //
00016 // Base class for all ippCommand
00017 //  Base class ippCommand is used to construct all commands 
00018 //  that have no arguments:
00019 //
00020 //   AbortE()
00021 //   ClearAllErrors()
00022 //   DisableUser()
00023 //   EnableUser()
00024 //   EndSession()
00025 //   EnumTools()
00026 //   GetCoordSystem()
00027 //   GetDMEVersion()
00028 //   GetErrStatusE()
00029 //   GetMachineClass()
00030 //   GetXtdErrStatus()
00031 //   Home()
00032 //   IsHomed()
00033 //   IsUserEnabled()
00034 //   ReQualify()
00035 //   StartSession()
00036 //   StopAllDaemons()
00037 //
00038 
00039 #pragma once
00040 
00041 #include "ippdme/ippdme.h"
00042 #include "ippdme/ippCommandNameType.h"
00043 #include "ippdme/ippTag.h"
00044 #include "ippdme/ippKeyStrings.h"
00045 #include "ippdme/ippObject.h"
00046 
00047 class ippStringBuilder;
00048 //-----------------------------------------------------------------------------
00049 class IPPDME_EXT_CLASS ippCommand : public ippObject {
00050    
00051 public:
00052 
00056   ippCommand(
00057     unsigned int inTagNumber,
00058     ippCommandNameType inCommandName
00059   );
00060 
00061 
00066   ippCommand(
00067     unsigned int inTagNumber,
00068     tagIdType inTagType,
00069           ippCommandNameType inCommandName
00070   );
00071       
00072   virtual ~ippCommand();
00073   
00074   void setCommandName(ippCommandNameType inCommandName) { _commandName = inCommandName; }
00075   ippCommandNameType getCommandName() const { return _commandName; }
00076   
00077   const ippTag& getTag() const { return _tag; }
00078 
00079 
00080   virtual std::string getCommandString() const;
00081   
00082 protected:
00083   ippTag _tag;
00084 
00085 
00086   void printLikeGet(
00087     ippStringBuilder& builder,
00088     bool R, 
00089     bool X, bool Y, bool Z,
00090     bool A, bool B, bool C
00091   ) const;
00092 
00093 private:
00094   bool _newCommand;
00095   ippCommandNameType _commandName;
00096 
00097 
00098 };
00099 IPP_DECLARE_SMARTPOINTER(ippCommand);
00100 
00101 
00102 

Generated on Wed Nov 8 00:19:55 2006 for IPPDME by  doxygen 1.4.1