21 #ifndef CO_OBJECTMAP_H 22 #define CO_OBJECTMAP_H 24 #include <co/serializable.h> 61 CO_API
virtual ~ObjectMap();
74 CO_API
bool register_(
Object*
object,
const uint32_t type);
87 CO_API
bool deregister(
Object*
object);
105 CO_API
Object* map(
const uint128_t& identifier,
Object* instance = 0);
118 CO_API
bool unmap(
Object*
object);
125 commit(
const uint32_t incarnation = CO_COMMIT_NEXT)
override;
128 CO_API
bool isDirty()
const override;
137 CO_API
void notifyAttached()
override;
142 DIRTY_ADDED = Serializable::DIRTY_CUSTOM << 0,
143 DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 1,
144 DIRTY_CHANGED = Serializable::DIRTY_CUSTOM << 2,
145 DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 3
149 detail::ObjectMap*
const _impl;
152 void _commitMasters(
const uint32_t incarnation);
155 #endif // CO_OBJECTMAP_H Base class for distributed, inheritable objects.
CO_API std::string serialize(const ConnectionDescriptions &)
Serialize a vector of connection descriptions to a string.
ChangeType getChangeType() const override
ChangeType
Object change handling characteristics, see Programming Guide.
A std::ostream-like interface for object serialization.
Object-oriented network library.
A distributed object registry.
Interface for entities which map and register objects.
The interface to create objects, used by ObjectMap.
A std::istream-like input data stream for binary data.
CO_API bool deserialize(std::string &data, ConnectionDescriptions &descriptions)
Deserialize a vector or connection descriptions from a string.