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 /* ippResponse class ****************************************************** 00011 00012 This is the top-level parent type for all response classes. It is not 00013 intended to be instantiated. 00014 00015 The XYZResponse class, which is derived from this ippResponse class, has 00016 derived classes of its own and is also not intended to be instantiated. 00017 All other derived classes of ippResponse are intended to be instantiated. 00018 00019 */ 00020 #pragma once 00021 #include "ippdme/ippdme.h" 00022 #include "ippdme/ippObject.h" 00023 #include "ippdme/ippResponseNameType.h" 00024 #include "ippdme/ippTag.h" 00025 #include "ippdme/ippKeyStrings.h" 00026 00027 00028 class IPPDME_EXT_CLASS ippResponse : public ippObject { 00029 00030 private: 00031 ippResponseNameType _responseType; 00032 00033 protected: 00034 const ippTag _tag; 00035 00036 public: 00037 00038 ippResponse( 00039 unsigned int inTagNumber, 00040 tagIdType inTagType, 00041 ippResponseNameType inResponseName 00042 ); 00043 00044 virtual ~ippResponse(); 00045 00046 void setResponseName(ippResponseNameType inResponseName); 00047 ippResponseNameType getResponseName() const; 00048 00049 const ippTag& getTag() const; 00050 00051 // return the response string 00052 virtual std::string getResponseString() const; 00053 00054 }; 00055 00056 IPP_DECLARE_SMARTPOINTER(ippResponse); 00057 00058 typedef std::vector<ippResponsePtr> ippResponseList;