19 #include <vl/globalObjectDesignator.h>
20 #include <vlpi/entityIdentifier.h>
21 #include <boost/smart_ptr/shared_ptr.hpp>
59 virtual bool isValid()
const;
64 virtual bool hasBeenDeleted()
const;
66 virtual const DtString& waitingForName()
const;
68 virtual void registerRemovedCallback();
70 virtual DtUUID uuid()
const;
80 static void objectAddedCallback(
DtVrfObject*,
void*);
83 static void objectAboutToBeRemovedCallback(
DtVrfObject*,
void*);
84 virtual void processObjectAboutToBeRemoved(
DtVrfObject*);
114 boost::shared_ptr<DtVrfObjectReference>::operator=(rhs);
124 if (
get()) {
get()->addObjectDiscoveredCallback(fcn, usr); };
130 if (
get()) {
get()->removeObjectDiscoveredCallback(fcn, usr); };
136 if (
get()) {
get()->addObjectAboutToBeRemovedCallback(fcn, usr); };
142 if (
get()) {
get()->removeObjectAboutToBeRemovedCallback(fcn, usr); };
146 bool hasBeenDeleted()
const
150 return get()->hasBeenDeleted();
161 return get()->isValid();
172 return get()->waitingForName();
183 return get()->uuid();
187 return DtUUID(waitingForName());
197 operator DtVrfObject*() {
if (
get() &&
get()->isValid())
return get()->object();
else return 0; };
198 operator const DtVrfObject* ()
const {
if (
get() &&
get()->isValid())
return get()->object();
else return 0; };
200 const DtVrfObject*
operator*()
const {
if (
get() &&
get()->isValid())
return get()->
object();
else return 0; };
202 bool operator!() {
if (
get()) {
return !
get()->isValid(); }
return true; };
217 parentRegistry = NULL);
220 parentRegistry = NULL);
245 virtual bool hasBeenDeleted()
const;
266 virtual void clearObjectReference();
274 virtual DtEntityIdentifier entityIdentifier()
const;
275 virtual DtGlobalObjectDesignator globalObjectDesignator()
const;
285 virtual void getSelf(DtlObjPtr args,
290 virtual void putSelf(std::string& fp,
int indentLevel = 0,
291 bool writeUnspecified =
false,
const DtFilename& path =
292 DtFilename::nullFilename());
295 static void objectDiscoveredCallback(
void* usr);
296 virtual void processObjectDiscovered();
298 static void objectAboutToBeRemovedCallback(
void* usr);
299 virtual void processObjectAboutToBeRemoved();
341 virtual void addUUID(
const DtUUID&);
344 virtual bool removeUUID(
const DtUUID&);
347 virtual bool hasUUID(
const DtUUID&)
const;
350 virtual std::vector<DtRwUUID> uuidsAsVector()
const;
353 virtual std::list<DtRwUUID> uuidsAsList()
const;
356 static void objectAboutToBeRemoved(
DtVrfObject*,
void*);
357 virtual void processObjectAboutToBeRemoved(
DtVrfObject*);