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

ippGetPropResponse.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 
00012 /* ippGetPropResponse class **********************************************
00013 
00014 Use this for data from GetProp, GetPropE
00015 
00016 The command format for these two commands allows several properties
00017 to be requested or set in a single command. The spec says nothing explicit
00018 about the number of returned property values per message, but shows
00019 two properties in a single response in the GetProp example on page
00020 73. This seems to imply that the number of properties in the response
00021 should be the same as the number in the command. This response allows
00022 multiple properties to be returned.
00023 
00024 See documentation of GetPropCommand.
00025 
00026 The format of a property differs according to property. To handle this,
00027 ippGetPropResponse contains an array of ippOneProperty's and the ippOneProperty
00028 class has several derived classes. Each derived class knows how to
00029 print itself.
00030 
00031 */
00032 #pragma  once 
00033 #include "ippdme/Property/ippOneProperty.h"
00034 #include "ippdme/Response/ippResponse.h"
00035 
00036 
00037 
00038 EXPIMP_TEMPLATE template class IPPDME_EXT_CLASS std::allocator<ippOnePropertyPtr>;
00039 EXPIMP_TEMPLATE template class IPPDME_EXT_CLASS std::vector<ippOnePropertyPtr>;
00040 
00041 class IPPDME_EXT_CLASS ippGetPropResponse : public ippResponse {
00042 
00043 
00044 public:
00045   ippGetPropResponse(unsigned int inTagNumber, tagIdType inTagType);
00046 
00047   virtual ~ippGetPropResponse();
00048 
00049   void append(const ippOnePropertyPtr& inOneProp);
00050 
00051   ippOnePropertyPtr getOneProp(int n) const;
00052   
00053   int getNumberProps() const;
00054 
00055   virtual std::string getResponseString() const;
00056 
00057 private:
00058   std::vector<ippOnePropertyPtr> _oneProps;    
00059 
00060   ippGetPropResponse(const ippGetPropResponse&);
00061   void operator=(const ippGetPropResponse&);
00062 };
00063 IPP_DECLARE_SMARTPOINTER(ippGetPropResponse);

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