33 lines
814 B
C
33 lines
814 B
C
|
#ifndef M_ATTRIBUTES_H
|
||
|
#define M_ATTRIBUTES_H
|
||
|
|
||
|
#include "vocabulary.h"
|
||
|
|
||
|
#include <wType/string.h>
|
||
|
|
||
|
#include <map>
|
||
|
|
||
|
namespace M {
|
||
|
class Attributes : public M::Vocabulary
|
||
|
{
|
||
|
public:
|
||
|
Attributes(const W::Address p_address, QObject* parent = 0);
|
||
|
~Attributes();
|
||
|
|
||
|
void addAttribute(const W::String& key, M::Model* model);
|
||
|
void removeAttribute(const W::String& key);
|
||
|
void setAttribute(const W::String& key, const W::Object& value);
|
||
|
void setAttribute(const W::String& key, W::Object* value);
|
||
|
|
||
|
M::Model::ModelType getType() const override;
|
||
|
static const M::Model::ModelType type = attributes;
|
||
|
|
||
|
private:
|
||
|
typedef std::map<W::String, M::Model*> Map;
|
||
|
|
||
|
Map* attributes;
|
||
|
};
|
||
|
}
|
||
|
|
||
|
#endif // ATTRIBUTES_H
|