00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00036 #ifndef OW_BINARYREQUESTHANDLER_HPP_INCLUDE_GUARD_
00037 #define OW_BINARYREQUESTHANDLER_HPP_INCLUDE_GUARD_
00038 #include "OW_config.h"
00039 #include "OW_Types.hpp"
00040 #include "OW_RequestHandlerIFC.hpp"
00041 #include "OW_ServiceEnvironmentIFC.hpp"
00042 #include "OW_CIMFwd.hpp"
00043
00044 namespace OW_NAMESPACE
00045 {
00046
00047 class BinaryRequestHandler : public RequestHandlerIFC
00048 {
00049 public:
00050 BinaryRequestHandler();
00051 virtual RequestHandlerIFC* clone() const;
00052 virtual void doProcess(std::istream *istr, std::ostream *ostrEntity,
00053 std::ostream *ostrError, OperationContext& context);
00054 virtual void doOptions(CIMFeatures &cf, OperationContext& context);
00055 virtual void setEnvironment(const ServiceEnvironmentIFCRef& env);
00056 virtual StringArray getSupportedContentTypes() const;
00057 virtual String getContentType() const;
00058
00059 virtual String getName() const;
00060 virtual void init(const ServiceEnvironmentIFCRef& env);
00061 virtual void shutdown();
00062 private:
00063 #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00064 void createClass(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00065 std::istream& istrm);
00066 void modifyClass(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00067 std::istream& istrm);
00068 void deleteClass(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00069 std::istream& istrm);
00070 #endif // #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00071 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00072 void createInstance(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00073 std::istream& istrm);
00074 void deleteInstance(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00075 std::istream& istrm);
00076 void modifyInstance(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00077 std::istream& istrm);
00078 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00079 void setProperty(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00080 std::istream& istrm);
00081 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00082 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00083 void enumClasses(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00084 std::istream& istrm);
00085 void getClass(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00086 std::istream& istrm);
00087 void getInstance(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00088 std::istream& istrm);
00089
00090 void getQual(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00091 std::istream& istrm);
00092 #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00093 void setQual(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00094 std::istream& istrm);
00095 void enumQualifiers(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00096 std::istream& istrm);
00097 void deleteQual(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00098 std::istream& istrm);
00099 #endif // #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00100 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00101 void getProperty(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00102 std::istream& istrm);
00103 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00104 void enumClassNames(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00105 std::istream& istrm);
00106 void enumInstances(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00107 std::istream& istrm);
00108 void enumInstanceNames(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00109 std::istream& istrm);
00110 void invokeMethod(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00111 std::istream& istrm);
00112 void execQuery(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00113 std::istream& istrm);
00114 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00115 void associators(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00116 std::istream& istrm);
00117 void associatorNames(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00118 std::istream& istrm);
00119 void references(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00120 std::istream& istrm);
00121 void referenceNames(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00122 std::istream& istrm);
00123 #endif
00124 void getServerFeatures(const CIMOMHandleIFCRef& chdl, std::ostream& ostrm,
00125 std::istream& istrm);
00126 void writeError(std::ostream& ostrm, const char* msg);
00127 bool writeFileName(std::ostream& ostrm, const String& fname);
00128 UserId m_userId;
00129 };
00130
00131 }
00132
00133 #endif