- com
- pcbsys
- nirvana
- nAdminAPI
- nContainer
This represents a node within the Nirvana Realm namespace which contains other nodes, such as a directory or another Realm. More...
#include <nContainer.h>
Public Member Functions | |
void | addACLEntries (nACL *pAcl, nNode **ppNodes=NULL, int numNode=0) |
Adds an acl to the list of nodes. More... | |
virtual void | addACLEntry (nACLEntry *pEntry, bool bAllChannels=true, bool bAllQueues=true) |
Adds a specific acl entry to all known nodes within the nContainer node. More... | |
virtual void | closed (nRealmNode *pNode) |
Called when a realm node is closed, for internal use only. More... | |
virtual nNode * | findNode (std::string name) |
Given a name of the form /container/container/name this function will locate the name object and return it, or null if that object can not be found. More... | |
virtual nNode * | findNode (nNode *pNode) |
Given a name of the form /container/container/name this function will locate the nNode object and return it, or null if that can not be found. More... | |
virtual nNode * | findNode (nNode *pNode, bool searchChildren) |
Given a name of the form /container/container/name this function will locate the name object and return it, or null if that can not be found. More... | |
virtual nNode * | getNextSibling (int idx=0) |
In findnode we were calling getNextSibling and occassionally hitting an nDataStreamNode. More... | |
virtual fSortedList < std::string, nNode * > & | getNodes () |
Returns an fSortedList of all the nodes under this container. More... | |
virtual nRealmNode * | getRealmAt (std::string name) |
Given a mount point this function will return a realm if one exists at the specified mount point. More... | |
virtual int | getTotalNodes () |
Returns the total number of nodes within this container and all subsequent children by traversing the entire structure beneath this container node. More... | |
virtual int | getType () |
Returns the type of this object, for internal use only. More... | |
virtual bool | hasRealmAt (std::string name) |
Given a mount point this function will determine if this container contains a mounted realm at the specified mount point. More... | |
void | modACLEntries (nACL *pAcl, nNode **ppNodes=NULL, int numNode=0) |
Modifies an existing acl for the list of nodes. More... | |
virtual void | modACLEntry (nACLEntry *pEntry, bool bAllChannels=true, bool bAllQueues=true) |
modifies a specific acl entry's permissions for all known nodes within the nContainer node. More... | |
void | removeACLEntries (nACL *pAcl, nNode **ppNodes=NULL, int numNode=0) |
Removes the contents of an acl list from the list of nodes. More... | |
virtual void | removeACLEntry (nACLEntry *pEntry, bool bAllChannels=true, bool bAllQueues=true) |
removes a specific acl entry from all known nodes within the nContainer node. More... | |
virtual void | setACL (nACL *pAcl, bool allChannels=true, bool allQueues=true, bool allServices=true) |
Changes the entire ACL entries for the selected nodes with the new ACL passed in. More... | |
Public Member Functions inherited from com::pcbsys::nirvana::nAdminAPI::nNode | |
virtual BitArray * | convertLong (longlong priv) |
Converts from a long to a bitArray used to specify ACL properties. More... | |
virtual nACLEntry * | createACLEntry (const std::string &subject, BitArray *pBs) |
Adds a specific acl entry to the leaf node acl. More... | |
virtual nACLEntry * | createACLEntry (nSecurityGroup *grp, BitArray *pBs) |
Adds a specific security group to the leaf node acl. More... | |
virtual bool | Equals (nNode *pItem) |
Check if this nNode is the same as the nNode passed in. More... | |
virtual bool | Equals (const std::string &item) |
Check if the string passed in matches the name of this nNode. More... | |
virtual const std::string & | getAbsolutePath () |
This function walks the tree to the root to generate a fully qualified name for this node. More... | |
const std::string & | getInternalName () |
Returns the name of this nNode. More... | |
const std::string & | getName () |
Returns the name of the node. More... | |
virtual nNode * | getParent () |
Returns this nodes parent node. More... | |
virtual std::string | getRelativePath (nNode *pTop) |
This method returns the relative path from this node to the nNode passed. More... | |
virtual bool | IsRemovable () |
Returns true if this nNode can be removed. More... | |
This represents a node within the Nirvana Realm namespace which contains other nodes, such as a directory or another Realm.
nContainer performs no functions other than containing the other nodes and being a placeholder in the namespace.
void com::pcbsys::nirvana::nAdminAPI::nContainer::addACLEntries | ( | nACL * | pAcl, |
nNode ** | ppNodes = NULL , |
||
int | numNode = 0 |
||
) |
Adds an acl to the list of nodes.
*pAcl | An nACL to apply to the list of nodes |
ppNodes | the list of nodes to apply the acl to |
numNode | the size of the node array |
nInsufficientPrivilegesException | If the user is not permitted to perform this operation |
nNodeException | if the ACLs being set are invalid |
nBaseAdminException | if unable to perform the operation, check the message for further information |
|
virtual |
Adds a specific acl entry to all known nodes within the nContainer node.
*pEntry | An nACL entry containing the subject and permissions to apply to all nodes under the container |
bAllChannels | if set then all channels within the container will have the acl applied |
bAllQueues | if set then all queues within the container will have the acl applied |
bAllServices | if set then all services within the container will have the acl applied |
nInsufficientPrivilegesException | If the user is not permitted to perform this operation |
nNodeException | if the ACLs being set are invalid |
nBaseAdminException | if unable to perform the operation, check the message for further information |
|
virtual |
Called when a realm node is closed, for internal use only.
*pNode | the node which has been closed |
Reimplemented in com::pcbsys::nirvana::nAdminAPI::nLinkNode, and com::pcbsys::nirvana::nAdminAPI::nClusterNode.
|
virtual |
Given a name of the form /container/container/name this function will locate the name object and return it, or null if that object can not be found.
name | the name of the node to locate as a String |
nAdminIllegalArgumentException | thrown if null is passed as the nNode |
Reimplemented in com::pcbsys::nirvana::nAdminAPI::nDataGroupsContainer.
Given a name of the form /container/container/name this function will locate the nNode object and return it, or null if that can not be found.
This function applies to the part of the namespace relative to the current node. Currently wildcards are NOT supported.
pNode | the nNode to be located |
nAdminIllegalArgumentException | thrown if null is passed as the nNode |
Reimplemented in com::pcbsys::nirvana::nAdminAPI::nRealmNode.
|
virtual |
Given a name of the form /container/container/name this function will locate the name object and return it, or null if that can not be found.
The searchChildren flag specifies whether the search should be performed on the current container only or children containers too respectively. This function applies to the part of the namespace relative to the current node. Currently wildcards are NOT supported.
pNode | the nNode to be located |
searchChildren | specifies whether to traverse lower levels of the tree or not |
nAdminIllegalArgumentException | thrown if null is passed as the nNode |
Reimplemented in com::pcbsys::nirvana::nAdminAPI::nRealmNode.
|
virtual |
In findnode we were calling getNextSibling and occassionally hitting an nDataStreamNode.
We needed to then step over this node and get the next sibling. This method allows you to specify an offset i.e 1 means get sibling after next
idx | offset |
|
virtual |
Returns an fSortedList of all the nodes under this container.
These could be other nContainer nodes, nLeafNode or nRealmNode objects.
|
virtual |
Given a mount point this function will return a realm if one exists at the specified mount point.
name | the mount point as a string as a String |
nAdminIllegalArgumentException | thrown if null is passed as the nNode |
|
virtual |
Returns the total number of nodes within this container and all subsequent children by traversing the entire structure beneath this container node.
|
virtual |
Returns the type of this object, for internal use only.
Reimplemented in com::pcbsys::nirvana::nAdminAPI::nRealmNode, com::pcbsys::nirvana::nAdminAPI::nDataGroupNode, com::pcbsys::nirvana::nAdminAPI::nClusterNode, and com::pcbsys::nirvana::nAdminAPI::nLinkNode.
|
virtual |
Given a mount point this function will determine if this container contains a mounted realm at the specified mount point.
name | the mount point as a string as a String |
nAdminIllegalArgumentException | thrown if null is passed as the nNode |
void com::pcbsys::nirvana::nAdminAPI::nContainer::modACLEntries | ( | nACL * | pAcl, |
nNode ** | ppNodes = NULL , |
||
int | numNode = 0 |
||
) |
Modifies an existing acl for the list of nodes.
*pAcl | An nACL to apply to the list of nodes |
ppNodes | the list of nodes to apply the acl to |
numNode | the size of the node array |
nInsufficientPrivilegesException | If the user is not permitted to perform this operation |
nNodeException | if the ACLs being set are invalid |
nBaseAdminException | if unable to perform the operation, check the message for further information |
|
virtual |
modifies a specific acl entry's permissions for all known nodes within the nContainer node.
*pEntry | An nACL entry containing the subject and permissions to apply to all nodes under the container |
bAllChannels | if set then all channels within the container will have the acl modified |
bAllQueues | if set then all queues within the container will have the acl modified |
bAllServices | if set then all services within the container will have the acl modified |
nInsufficientPrivilegesException | If the user is not permitted to perform this operation |
nNodeException | if the ACLs being set are invalid |
nBaseAdminException | if unable to perform the operation, check the message for further information |
void com::pcbsys::nirvana::nAdminAPI::nContainer::removeACLEntries | ( | nACL * | pAcl, |
nNode ** | ppNodes = NULL , |
||
int | numNode = 0 |
||
) |
Removes the contents of an acl list from the list of nodes.
*pAcl | An nACL of entries to be applied to the list of nodes |
ppNodes | the list of nodes to apply the acl to |
numNode | the size of the node array |
nInsufficientPrivilegesException | If the user is not permitted to perform this operation |
nNodeException | if the ACLs being set are invalid |
nBaseAdminException | if unable to perform the operation, check the message for further information |
|
virtual |
removes a specific acl entry from all known nodes within the nContainer node.
*pEntry | An nACL entry containing the subject and permissions to apply to all nodes under the container |
bAllChannels | if set then all channels within the container will have the acl removed |
bAllQueues | if set then all queues within the container will have the acl removed |
bAllServices | if set then all services within the container will have the acl removed |
nInsufficientPrivilegesException | If the user is not permitted to perform this operation |
nNodeException | if the ACLs being set are invalid |
nBaseAdminException | if unable to perform the operation, check the message for further information |
|
virtual |
Changes the entire ACL entries for the selected nodes with the new ACL passed in.
pAcl | An nACL containing the nAclEntry objects that will be applied to all nodes under the container |
allChannels | if set then all channels within the container will have the acl added |
allQueues | if set then all queues within the container will have the acl added |
allServices | if set then all services within the container will have the acl added |
nInsufficientPrivilegesException | If the user is not permissioned to perform this operation |
nNodeException | if the ACLs being set are invalid |
nBaseAdminException | if unable to perform the operation, check the message for further information |