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;
79 static void objectAddedCallback(
DtVrfObject*,
void*);
82 static void objectAboutToBeRemovedCallback(
DtVrfObject*,
void*);
83 virtual void processObjectAboutToBeRemoved(
DtVrfObject*);
113 boost::shared_ptr<DtVrfObjectReference>::operator=(rhs);
123 if (
get()) {
get()->addObjectDiscoveredCallback(fcn, usr); };
129 if (
get()) {
get()->removeObjectDiscoveredCallback(fcn, usr); };
135 if (
get()) {
get()->addObjectAboutToBeRemovedCallback(fcn, usr); };
141 if (
get()) {
get()->removeObjectAboutToBeRemovedCallback(fcn, usr); };
145 bool hasBeenDeleted()
const
149 return get()->hasBeenDeleted();
160 return get()->isValid();
171 return get()->waitingForName();
182 return get()->uuid();
186 return DtUUID(waitingForName());
196 operator DtVrfObject*() {
if (
get() &&
get()->isValid())
return get()->object();
else return 0; };
197 operator const DtVrfObject* ()
const {
if (
get() &&
get()->isValid())
return get()->object();
else return 0; };
199 const DtVrfObject*
operator*()
const {
if (
get() &&
get()->isValid())
return get()->
object();
else return 0; };
201 bool operator!() {
if (
get()) {
return !
get()->isValid(); }
return true; };
216 parentRegistry = NULL);
219 parentRegistry = NULL);
244 virtual bool hasBeenDeleted()
const;
265 virtual void clearObjectReference();
273 virtual DtEntityIdentifier entityIdentifier()
const;
274 virtual DtGlobalObjectDesignator globalObjectDesignator()
const;
284 virtual void getSelf(DtlObjPtr args,
289 virtual void putSelf(FILE* fp,
int indentLevel = 0,
290 bool writeUnspecified =
false,
const DtFilename& path =
291 DtFilename::nullFilename());
294 static void objectDiscoveredCallback(
void* usr);
295 virtual void processObjectDiscovered();
297 static void objectAboutToBeRemovedCallback(
void* usr);
298 virtual void processObjectAboutToBeRemoved();
339 virtual void addUUID(
const DtUUID&);
342 virtual bool removeUUID(
const DtUUID&);
345 virtual bool hasUUID(
const DtUUID&)
const;
348 virtual std::vector<DtRwUUID> uuidsAsVector()
const;
351 virtual std::list<DtRwUUID> uuidsAsList()
const;
354 static void objectAboutToBeRemoved(
DtVrfObject*,
void*);
355 virtual void processObjectAboutToBeRemoved(
DtVrfObject*);