VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/orgMgrNode.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2002 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: orgMgrNode.h,v $ $Revision: 1.9 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DtOrganizationManagerNode_H_
00016 #define DtOrganizationManagerNode_H_
00017 
00018 #include "vrfobjcore/entIdCbInfo.h"
00019 
00020 #include <vlutil/vlList.h>
00021 #include <vl/hostStructs.h>
00022 #include <list>
00023 #include <vector>
00024 
00026 #include "vrfobjcore/vrfobjcoreDefines.h"
00027 class DT_DLL_vrfobjcore DtOrganizationManagerNode
00028 {
00029 public:
00030    DtOrganizationManagerNode();
00031    virtual ~DtOrganizationManagerNode();
00032 
00033 private:
00035    DtOrganizationManagerNode(const DtOrganizationManagerNode& orig);
00037    DtOrganizationManagerNode& operator=(const DtOrganizationManagerNode& orig);
00038 
00039 public:
00040 
00043    virtual const DtList* childList() const;
00044    virtual DtList* childList();
00046 
00050    virtual bool removeChild(const DtOrganizationManagerNode* node);
00051    virtual void removeAllChildren();
00052    virtual void addChild(DtOrganizationManagerNode* node);
00061    virtual void orderChildren(const std::vector<DtEntityIdentifier>& childOrder);
00062 
00065    virtual void setParent(DtOrganizationManagerNode* parent);
00066    virtual DtOrganizationManagerNode* parent() const;
00068 
00071    virtual void setObjectId(const DtEntityIdentifier &id);
00072    virtual const DtEntityIdentifier& objectId() const;
00074 
00078    virtual void setIsTopLevel(bool isTopLevel);
00079    virtual bool isTopLevel() const;
00081 
00085    virtual void addChildAddedCallback(
00086       DtEntityIdentifierCallbackFunction fcn, void* userData);
00087    virtual void removeChildAddedCallback(
00088       DtEntityIdentifierCallbackFunction fcn, void* userData);
00090 
00094    virtual void addChildRemovedCallback(
00095       DtEntityIdentifierCallbackFunction fcn, void* userData);
00096    virtual void removeChildRemovedCallback(
00097       DtEntityIdentifierCallbackFunction fcn, void* userData);
00099 
00107    virtual void addSubordinatesChangedCallback(
00108       DtEntityIdentifierCallbackFunction fcn, void* userData);
00109    virtual void removeSubordinatesChangedCallback(
00110       DtEntityIdentifierCallbackFunction fcn, void* userData);
00112 
00113 protected:
00114 
00116    virtual void invokeSubordinatesChangedCallbacks(
00117       const DtEntityIdentifier& entId) const;
00118 
00121    virtual void invokeChildAddedCallbacks(
00122       const DtEntityIdentifier& entId) const;
00123 
00126    virtual void invokeChildRemovedCallbacks(
00127       const DtEntityIdentifier& entId) const;
00128 
00130    void removeAllSubordinatesChangedCallbacks();
00131 
00132 protected:
00134    DtList myChildList;
00135    DtOrganizationManagerNode* myParentNode;
00136    DtEntityIdentifier myObjectId;
00137    bool myIsTopLevel;
00138 
00139    DtList mySubordinatesChangedCallbackList;
00140    std::list<DtEntityIdentifierCallbackInfo> myChildAddedCallbackList;
00141    std::list<DtEntityIdentifierCallbackInfo> myChildRemovedCallbackList;
00142 };
00143 #endif
00144 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)