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 /* ippSetPropEResponse class ************************************************ 00011 00012 Use this for data from a server-initiated SetProp 00013 The tag number must be 0, so the constructors do not take a tag number 00014 argument. 00015 00016 This allows only one property to be set. The spec does not make it 00017 clear whether the argument list may have more than one property. 00018 00019 This allows making a request to set any property that can be set using 00020 SetProp (this excludes Name, Id, CollisionVolume, and Alignment). All 00021 values are numeric. 00022 00023 Key4 may be EmptyKey. 00024 00025 */ 00026 #pragma once 00027 #include "ippdme/Response/ippResponse.h" 00028 #include "ippdme/ippProp.h" 00029 00030 class IPPDME_EXT_CLASS ippSetPropEResponse : public ippResponse { 00031 00032 00033 public: 00034 00035 ippSetPropEResponse(); 00036 00037 virtual ~ippSetPropEResponse(){} 00038 00039 00040 void addPropValue(const ippProp& prop,double value); 00041 00042 const ippProp& getProp(int n) const { return _props[n]; } 00043 int getNumberProps() const; 00044 double getValue(int n) const; 00045 virtual std::string getResponseString() const; 00046 private: 00047 std::vector<ippProp> _props; 00048 std::vector<double> _values; 00049 // prohibited copy constructor: 00050 ippSetPropEResponse(const ippSetPropEResponse&); 00051 void operator=(const ippSetPropEResponse&); 00052 00053 }; 00054 IPP_DECLARE_SMARTPOINTER(ippSetPropEResponse);