com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry Class Reference

Extends the nACLEntry class to expose the Realm specific permissions. More...

#include <nRealmACLEntry.h>

Inheritance diagram for com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry:
com::pcbsys::nirvana::nAdminAPI::nACLEntry

Public Member Functions

virtual bool canAccessTheRealm ()
 Can this Subject connect and use this realm. More...
 
virtual bool canConfigureRealm ()
 Can this subject set/get runtime configuration values for the realm. More...
 
virtual bool canManageChannels ()
 Can this subject make/delete or perform maintenance on channels within this realm. More...
 
virtual bool canManageDataGroups ()
 Checks if this acl entry allows management of datagroups. More...
 
virtual bool canManageJoins ()
 Can this subject create/remove/list joins between channels within the namespace. More...
 
virtual bool canManageP2PServices ()
 Can this subject create/remove p2p services on this realm. More...
 
virtual bool canManageRealm ()
 Can this Subject add/remove remote realms into this realms namespace. More...
 
virtual bool canOverrideConnectionCount ()
 Can this subject bypass the Realms maximum connection count. More...
 
virtual bool canPublishToGlobalDataGroup ()
 Checks if this acl entry allows publishing to the default datagroup. More...
 
virtual bool canTakeOwnershipOfDataGroup ()
 Checks if this acl entry allows taking ownership of datagroups. More...
 
virtual bool canUseAdminAPI ()
 Any subject with this permission set can perform the following functions on a realm. More...
 
virtual int getType ()
 Returns the type of the connection details this object represents. More...
 
 nRealmACLEntry (const std::string &subject, BitArray *pBitset)
 Creates a new nRealmACLEntry with the supplied name@host. More...
 
 nRealmACLEntry (const std::string &name, const std::string &host)
 Creates a new nRealmACLEntry with the supplied name@host. More...
 
 nRealmACLEntry (nSecurityGroup *grp, BitArray *pBitset)
 Creates a new nRealmACLEntry for the security group. More...
 
 nRealmACLEntry (const std::string &subject)
 Creates a new nRealmACLEntry with the supplied name@host. More...
 
virtual void setAccessTheRealm (bool val)
 Allows/Disallows this subject the ability to connect and use the realm. More...
 
virtual void setConfigureRealm (bool val)
 Allows/Disallows setting realm configuration values. More...
 
virtual void setManageChannels (bool val)
 Allow/Disallows this subject from making/deleting or performing maintenance on any channel on the realm. More...
 
virtual void setManageDataGroups (bool val)
 Allows or disallows management of datagroups for this acl entry. More...
 
virtual void setManageJoins (bool val)
 Allows/Disallows this subject from managing the joins between channels within the namespace. More...
 
virtual void setManageP2PServices (bool val)
 Allows/Disallows this subject creating p2p services on this realm. More...
 
virtual void setManageRealm (bool val)
 Allows/Disallows this client from adding/removing remote realms into the namespace. More...
 
virtual void setOverrideConnectionCount (bool val)
 Allow/Disallows the subject from overriding the maximum connection count. More...
 
virtual void setPublishToGlobalDataGroup (bool val)
 Allows or disallows publishing to the default datagroup for this acl entry. More...
 
virtual void setTakeOwnershipOfDataGroup (bool val)
 Allows or disallows taking ownership of a datagroup for this acl entry. More...
 
virtual void setUseAdminAPI (bool val)
 Allows/Disallows this subject from accessing the realms Admin API functions. More...
 
- Public Member Functions inherited from com::pcbsys::nirvana::nAdminAPI::nACLEntry
virtual bool canList ()
 Can this subject list the contents of an ACL. More...
 
virtual bool canModify ()
 Can this subject modify acl entries in a secure object. More...
 
void copyBitArray (BitArray *pArray)
 Replace the bit array representing the ACL with *pArray. More...
 
BitArray * getBitSet ()
 Creates a new nACLEntry with the subject being name@host. More...
 
virtual const std::string & getHost ()
 Returns the host's name as a string. More...
 
virtual const std::string & getName ()
 Returns the name of the ACLEntry. More...
 
std::string getSubject ()
 This method returns the completed subject User@Host. More...
 
virtual bool hasFullPrivileges ()
 Does this subject have full privileges for the secure object. More...
 
virtual bool lessThan (nACLEntry *pItem)
 Used to compares this Object with another to determine sorting position. More...
 
virtual bool lessThan (longlong aLong)
 Required as part of the SortedObject interface. More...
 
 nACLEntry (const std::string &name, const std::string &host)
 Creates a new nACLEntry with the subject being name@host. More...
 
 nACLEntry (const std::string &subject, BitArray *pBitset=NULL)
 Creates a new nACLEntry with the subject being name@host. More...
 
virtual void setFullPrivileges (bool val)
 Sets the subject to have full privileges for this secure object allowing the subject complete control over the secure object. More...
 
virtual void setList (bool val)
 Changes the current setting for this user to allow/disallow ACL listing. More...
 
virtual void setModify (bool val)
 Changes the current setting for this subject to allow/disallow modifying ACL. More...
 

Detailed Description

Extends the nACLEntry class to expose the Realm specific permissions.

See Also
nACLEntry

Constructor & Destructor Documentation

com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::nRealmACLEntry ( const std::string &  subject,
BitArray *  pBitset 
)

Creates a new nRealmACLEntry with the supplied name@host.

This class is used to manage subjects and their privileges they have on a realm.

Parameters
nameThe name of the subject
*pBitsetthe bitset representing the privileges of this subject
Exceptions
nAdminIllegalArgumentExceptionif an invalid or null argument is passed
com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::nRealmACLEntry ( const std::string &  name,
const std::string &  host 
)

Creates a new nRealmACLEntry with the supplied name@host.

This class is used to manage subjects and their privileges they have on a realm.

Parameters
nameThe name of the subject
hostThe host name for the subject
Exceptions
nAdminIllegalArgumentExceptionif an invalid or null argument is passed
com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::nRealmACLEntry ( nSecurityGroup grp,
BitArray *  pBitset 
)

Creates a new nRealmACLEntry for the security group.

This class is used to manage subjects and their privileges they have on a realm.

Parameters
*grpThe security group
*pBitsetthe bitset representing the privileges of this subject
Exceptions
nAdminIllegalArgumentExceptionif an invalid or null argument is passed
com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::nRealmACLEntry ( const std::string &  subject)

Creates a new nRealmACLEntry with the supplied name@host.

This class is used to manage subjects and their privileges they have on a realm.

Parameters
subjectof the form user
Exceptions
nAdminIllegalArgumentExceptionif an invalid or null argument is passed

Member Function Documentation

virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canAccessTheRealm ( )
virtual

Can this Subject connect and use this realm.

If false the subject will be disconnected during the authentication stage.

Returns
The current configuration
virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canConfigureRealm ( )
virtual

Can this subject set/get runtime configuration values for the realm.

Returns
The current configuration
virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canManageChannels ( )
virtual

Can this subject make/delete or perform maintenance on channels within this realm.

This permission is extends only for this realm within the namespace.

Returns
The current configuration
virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canManageDataGroups ( )
virtual

Checks if this acl entry allows management of datagroups.

Returns
boolean value true if this acl entry allows management of datagroups, false otherwise.
virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canManageJoins ( )
virtual

Can this subject create/remove/list joins between channels within the namespace.

Returns
The current configuration
virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canManageP2PServices ( )
virtual

Can this subject create/remove p2p services on this realm.

Returns
The current configuration
virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canManageRealm ( )
virtual

Can this Subject add/remove remote realms into this realms namespace.

Returns
The current configuration
virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canOverrideConnectionCount ( )
virtual

Can this subject bypass the Realms maximum connection count.

Typically all administrators would have this set so that a realm could be started with the user count set to a low number to allow a managed restart for example. Any user with this set will not check the current user count. This is not a license restriction, rather it is up to the end user to set the user count and these settings accordingly

Returns
The current configuration
virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canPublishToGlobalDataGroup ( )
virtual

Checks if this acl entry allows publishing to the default datagroup.

Returns
boolean value true if this acl entry allows publishing to the default datagroup
virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canTakeOwnershipOfDataGroup ( )
virtual

Checks if this acl entry allows taking ownership of datagroups.

Returns
boolean value true if this acl entry can take ownership of datagroups, false otherwise.
virtual bool com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::canUseAdminAPI ( )
virtual

Any subject with this permission set can perform the following functions on a realm.

Disconnect users from the realm Set ACLs for channels, queues and the realm Retrieve a list of all channels, queues, joins and connected realms Set Client Timeout values Set/Get Realm Configuration values for the realm

Some of these functions also depend on other permissions being set as well

Returns
The current configuration
virtual int com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::getType ( )
virtual

Returns the type of the connection details this object represents.

In this case the object represents channel connection details.

Returns
the type of connection details represented
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setAccessTheRealm ( bool  val)
virtual

Allows/Disallows this subject the ability to connect and use the realm.

Parameters
valBoolean value to set
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setConfigureRealm ( bool  val)
virtual

Allows/Disallows setting realm configuration values.

Parameters
valBoolean value to set
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setManageChannels ( bool  val)
virtual

Allow/Disallows this subject from making/deleting or performing maintenance on any channel on the realm.

Parameters
valBoolean value to set
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setManageDataGroups ( bool  val)
virtual

Allows or disallows management of datagroups for this acl entry.

Parameters
valboolean which when set to true will allow management of datagroups.
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setManageJoins ( bool  val)
virtual

Allows/Disallows this subject from managing the joins between channels within the namespace.

Parameters
valBoolean value to set
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setManageP2PServices ( bool  val)
virtual

Allows/Disallows this subject creating p2p services on this realm.

Parameters
valBoolean value to set
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setManageRealm ( bool  val)
virtual

Allows/Disallows this client from adding/removing remote realms into the namespace.

Parameters
valBoolean value to set
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setOverrideConnectionCount ( bool  val)
virtual

Allow/Disallows the subject from overriding the maximum connection count.

Parameters
valBoolean value to set
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setPublishToGlobalDataGroup ( bool  val)
virtual

Allows or disallows publishing to the default datagroup for this acl entry.

Parameters
valboolean which when set to true will allow publishing to the default datagroup.
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setTakeOwnershipOfDataGroup ( bool  val)
virtual

Allows or disallows taking ownership of a datagroup for this acl entry.

Parameters
valboolean which when set to true will allow ownership of datagroups.
virtual void com::pcbsys::nirvana::nAdminAPI::nRealmACLEntry::setUseAdminAPI ( bool  val)
virtual

Allows/Disallows this subject from accessing the realms Admin API functions.

Parameters
valBoolean value to set