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

ippOnScanReportCommand.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 // History
00012 // V1.40
00013 // V1.42-6.3.3.8  IJK also for OnScanReport() 
00014 // V1.5 -6.3.2.30 IJKAct as reporting parameter (ipptestsuite#7)
00015 #pragma once
00016 #include "ippCommand.h"
00017 #include <map>
00018 
00019 /*
00020  *  Defines the format (sequence) and properties reported while scanning.
00021  *  also IJK(), IJKAct(), Q() and ER()
00022  */
00023 class  IPPDME_EXT_CLASS ippOnScanReportCommand : public ippCommand {
00024 
00025 public:
00026 
00027   enum Key { 
00028 
00029     ER     = ipp::ER,
00030     IJK    = ipp::_IJK,
00031     Q      = ipp::Q,
00032     R      = ipp::_R,
00033     X      = ipp::_X,
00034     Y      = ipp::_Y,
00035     Z      = ipp::_Z,
00036     IJKAct = ipp::_IJKAct,
00037     ToolA  = ipp::_A,
00038     ToolB  = ipp::_B,
00039     ToolC  = ipp::_C,
00040  };
00041 
00042  ippOnScanReportCommand(
00043     unsigned int tgNum
00044  );
00045 
00046  virtual  ~ippOnScanReportCommand();
00047   
00048  void setDefault();
00049  // set the object with the default configuration (i.e X,Y,Z,Q) as specified by i++
00050 
00051  // Precondition: key must be one of the valid key ER , IJK Q R X Y Z A B C IJKAct
00052  void append(Key property);
00053 
00054  // returns the number of values that would be reported by a frame
00055  // IJK counts for 3.
00056  int getNumberOfReportedValues() const;
00057 
00058  // returns the index at which the key will appear
00059  // or -1 if the key is not present in the OnScanReport object
00060  // Precondition: key must be one of the valid key ER , IJK Q R X Y Z A B C IJKAct
00061  int getIndexOf(Key key) const;
00062 
00063  bool getHasER() const;
00064  bool getHasIJK() const;
00065  bool getHasQ() const;
00066  bool getHasR() const;
00067  bool getHasX() const;
00068  bool getHasY() const;
00069  bool getHasZ() const;
00070  bool getHasToolA()const;
00071  bool getHasToolB()const;
00072  bool getHasToolC()const;
00073  bool getHasIJKAct()const;
00074 
00075  virtual std::string getCommandString() const;
00076 
00077  void reset();
00078 
00079 private:
00080   ippOnScanReportCommand(const ippOnScanReportCommand&);
00081   void operator=(const ippOnScanReportCommand&);
00082 
00083   std::vector<Key> _orderedKey;
00084   std::map<Key,int> _usedKey;
00085   int _lastIndex;
00086 
00087 };
00088 IPP_DECLARE_SMARTPOINTER(ippOnScanReportCommand);

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