00001 #ifndef QMF_SCHEMA_METHOD_H
00002 #define QMF_SCHEMA_METHOD_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #if !defined(QMF_USE_DEPRECATED_API) && !defined(qmf2_EXPORTS) && !defined(SWIG)
00025 # error "The API defined in this file has been DEPRECATED and will be removed in the future."
00026 # error "Define 'QMF_USE_DEPRECATED_API' to enable continued use of the API."
00027 #endif
00028
00029 #include "qmf/ImportExport.h"
00030 #include "qpid/sys/IntegerTypes.h"
00031 #include "qmf/Handle.h"
00032 #include "qmf/SchemaTypes.h"
00033 #include <string>
00034
00035 namespace qmf {
00036
00037 #ifndef SWIG
00038 template <class> class PrivateImplRef;
00039 #endif
00040
00041 class SchemaMethodImpl;
00042 class SchemaProperty;
00043
00044 class QMF_CLASS_EXTERN SchemaMethod : public qmf::Handle<SchemaMethodImpl> {
00045 public:
00046 QMF_EXTERN SchemaMethod(SchemaMethodImpl* impl = 0);
00047 QMF_EXTERN SchemaMethod(const SchemaMethod&);
00048 QMF_EXTERN SchemaMethod& operator=(const SchemaMethod&);
00049 QMF_EXTERN ~SchemaMethod();
00050
00051 QMF_EXTERN SchemaMethod(const std::string&, const std::string& o="");
00052
00053 QMF_EXTERN void setDesc(const std::string&);
00054 QMF_EXTERN void addArgument(const SchemaProperty&);
00055
00056 QMF_EXTERN const std::string& getName() const;
00057 QMF_EXTERN const std::string& getDesc() const;
00058 QMF_EXTERN uint32_t getArgumentCount() const;
00059 QMF_EXTERN SchemaProperty getArgument(uint32_t) const;
00060
00061 #ifndef SWIG
00062 private:
00063 friend class qmf::PrivateImplRef<SchemaMethod>;
00064 friend struct SchemaMethodImplAccess;
00065 #endif
00066 };
00067
00068 }
00069
00070 #endif