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

ippGetPropCommand.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 /* ippGetPropCommand class ************************************************
00011 
00012 A GetProp property must have three or four keys. Examples:
00013 GetProp(Tool.GoToPars.Speed())
00014 GetProp(Tool.GoToPars.Speed.Act())
00015 
00016 If property n has only three keys, keys4[n] should be set to EmptyKey.
00017 
00018 In the second constructor, this is assuming:
00019 1. inNumberProps is positive.
00020 2. the incoming arrays of keys (inKeys1, etc.) all have at least
00021    inNumberProps entries.
00022 
00023 The setNumberProps method does not increase the size of the keys arrays
00024 so setNumberProps should not be used to increase _numberProps. It is
00025 unlikely that a situation will arise where it is useful to call
00026 setNumberProps.
00027 
00028 To make a usable command, either use the second constructor, or call
00029 setNewProps and then make repeated calls to setKey1, setKey2, etc.
00030 
00031 The setXXX functions all return 1 if everything is OK and 0 if the
00032 the index n is out of range.
00033 
00034 */
00035 #pragma once
00036 #include "ippdme/Command/ippCommand.h"
00037 #include "ippdme/ippProp.h"
00038 
00039 
00040 
00041 class IPPDME_EXT_CLASS ippGetPropCommand : public ippCommand
00042 {
00043 
00044 public:
00045   ippGetPropCommand(unsigned int tgNum);
00046 
00047   void addProp(const ippProp&);  
00048   const ippProp& getProp(int i) const;
00049   
00050   int getNumberProps() const;
00051 
00052   virtual ~ippGetPropCommand();
00053   virtual std::string getCommandString() const;
00054 
00055 protected:
00056   ippGetPropCommand(
00057     unsigned int inTagNumber,
00058     tagIdType inTagType,
00059           ippCommandNameType inCommandName
00060   );
00061 
00062 private:
00063   std::vector<ippProp> _props;
00064   // prohibited copy constructor/operator
00065   ippGetPropCommand(const ippGetPropCommand&);
00066   void operator=(const ippGetPropCommand&);
00067 };
00068 IPP_DECLARE_SMARTPOINTER(ippGetPropCommand);

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