diff options
Diffstat (limited to 'src/Group.cpp')
-rw-r--r-- | src/Group.cpp | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/src/Group.cpp b/src/Group.cpp index 448d29d87..5f1f25782 100644 --- a/src/Group.cpp +++ b/src/Group.cpp @@ -3,35 +3,39 @@ #include "Group.h" -void cGroup::AddCommand( std::string a_Command ) + + + + +void cGroup::AddCommand( AString a_Command ) { m_Commands[ a_Command ] = true; } -void cGroup::AddPermission( std::string a_Permission ) + + + + +void cGroup::AddPermission( AString a_Permission ) { m_Permissions[ a_Permission ] = true; } -bool cGroup::HasCommand( std::string a_Command ) -{ - if( m_Commands.find("*") != m_Commands.end() ) return true; - - CommandMap::iterator itr = m_Commands.find( a_Command ); - if( itr != m_Commands.end() ) - { - if( itr->second ) return true; - } - - for( GroupList::iterator itr = m_Inherits.begin(); itr != m_Inherits.end(); ++itr ) - { - if( (*itr)->HasCommand( a_Command ) ) return true; - } - return false; -} + + + void cGroup::InheritFrom( cGroup* a_Group ) { m_Inherits.remove( a_Group ); m_Inherits.push_back( a_Group ); +} + + + + + +void cGroup::ClearPermission() +{ + m_Permissions.clear(); }
\ No newline at end of file |