16#ifndef _RBTBASEOBJECT_H_
17#define _RBTBASEOBJECT_H_
19#include "rxdock/Config.h"
20#include "rxdock/Observer.h"
21#include "rxdock/ParamHandler.h"
22#include "rxdock/RequestHandler.h"
24#include <nlohmann/json.hpp>
26using json = nlohmann::json;
35 static const std::string _CT;
37 static const std::string _CLASS;
38 static const std::string _NAME;
39 static const std::string _ENABLED;
41 friend void to_json(json &j,
const BaseObject &baseObject);
42 friend void from_json(
const json &j,
BaseObject &baseObject);
52 std::string GetClass()
const;
54 std::string GetName()
const;
55 void SetName(
const std::string &);
58 virtual std::string GetFullName()
const;
61 bool isEnabled()
const;
69 virtual void Unregister();
75 virtual void Deleted(
Subject *theDeletedSubject);
78 virtual void HandleRequest(
RequestPtr spRequest);
82 virtual void Print(std::ostream &s)
const;
88 BaseObject(
const std::string &strClass,
const std::string &strName);
93 void ParameterUpdated(
const std::string &strName);
116void to_json(json &j,
const BaseObject &baseObject);
117void from_json(
const json &j,
BaseObject &baseObject);
120typedef std::vector<BaseObject *> BaseObjectList;
121typedef BaseObjectList::iterator BaseObjectListIter;
122typedef BaseObjectList::const_iterator BaseObjectListConstIter;
Definition BaseObject.h:32
Definition ParamHandler.h:30
Definition RequestHandler.h:24
Definition WorkSpace.h:38