Go to the documentation of this file.00001 #ifndef QMF_SCHEMA_H
00002 #define QMF_SCHEMA_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <qmf/ImportExport.h>
00025 #include "qpid/sys/IntegerTypes.h"
00026 #include "qmf/Handle.h"
00027 #include "qmf/SchemaTypes.h"
00028 #include <string>
00029
00030 namespace qmf {
00031
00032 #ifndef SWIG
00033 template <class> class PrivateImplRef;
00034 #endif
00035
00036 class SchemaImpl;
00037 class SchemaId;
00038 class SchemaProperty;
00039 class SchemaMethod;
00040
00041 class QMF_CLASS_EXTERN Schema : public qmf::Handle<SchemaImpl> {
00042 public:
00043 QMF_EXTERN Schema(SchemaImpl* impl = 0);
00044 QMF_EXTERN Schema(const Schema&);
00045 QMF_EXTERN Schema& operator=(const Schema&);
00046 QMF_EXTERN ~Schema();
00047
00048 QMF_EXTERN Schema(int, const std::string&, const std::string&);
00049 QMF_EXTERN const SchemaId& getSchemaId() const;
00050
00051 QMF_EXTERN void finalize();
00052 QMF_EXTERN bool isFinalized() const;
00053 QMF_EXTERN void addProperty(const SchemaProperty&);
00054 QMF_EXTERN void addMethod(const SchemaMethod&);
00055 QMF_EXTERN void setDesc(const std::string&);
00056 QMF_EXTERN const std::string& getDesc() const;
00057
00058 QMF_EXTERN void setDefaultSeverity(int);
00059 QMF_EXTERN int getDefaultSeverity() const;
00060
00061 QMF_EXTERN uint32_t getPropertyCount() const;
00062 QMF_EXTERN SchemaProperty getProperty(uint32_t) const;
00063
00064 QMF_EXTERN uint32_t getMethodCount() const;
00065 QMF_EXTERN SchemaMethod getMethod(uint32_t) const;
00066
00067 #ifndef SWIG
00068 private:
00069 friend class qmf::PrivateImplRef<Schema>;
00070 friend struct SchemaImplAccess;
00071 #endif
00072 };
00073
00074 }
00075
00076 #endif