Skip to main content

Get a List of All Roles in Cpp

The following code sample illustrates how to get a list of roles.


Code Sample

See the C++ environment settings for details on setting the project environment.


<cpp_admin_role_getlist.cpp>
/*****************************************************************************************
*
* cpp_admin_role_getlist.cpp
*
*
******************************************************************************************/

#include<string>
#include<iostream>
#include "teagent.h"
#include "teconnection.h"
#include "teexception.h"
#include "teauthuserctx.h"
#include "teauthwinctx.h"
#include "teobject.h"
#include "teadmin.h"
#include "tewinprincipal.h"

using namespace ERUCES;
using namespace std;

int main()
{
string strServer = "localhost";
long nPort = 8888;
string strAdminUser = "admin";
string strAdminPswd = "password1A";

try
{
// Connect to server
auto_ptr<TEConnection> conn = TEConnection::createInstance(TEConnection::SecureConnection);
conn->open(strServer, nPort, strAdminUser, strAdminPswd);
cout << "Connected to " << strServer << " as " << strAdminUser << endl << endl;

TEAdmin admin;
admin.attachConnection(conn.operator->());

// Get role list
TEObjectContainer container;
admin.getRoleList(container);

for ( int i=0; i<container.size(); i++ )
{
const TEUserRole* role = static_cast<const TEUserRole*>(container[i]);
cout << endl;
cout << "Role ID: " << role->getRoleId() << endl;
cout << "Role Name: " << role->getRoleName().c_str() << endl;
cout << "Operation Count: " << role->OperationIdCount() << endl;

TEObjectContainer opIDs;
role->getOperationIds(opIDs);
for (int j=0; j<opIDs.size(); j++)
{
const TEUInt32 *id = static_cast<const TEUInt32*>(opIDs[j]);
cout << "\tOperation ID: " << id->getValue() << endl;
}
}

admin.detachConnection();

// Disconnect from server
conn->close();
cout << "Disconnected from " << strServer << endl;
}
catch (TEException &e)
{
cout << e.getAllMessages().c_str() << endl;
}
catch (...)
{
cout << "Unexpected error" << endl;
}

return 0;
}
Output
Connected to localhost as admin

Role ID: 1
Role Name: Administrator
Operation Count: 43
Operation ID: 33554440
Operation ID: 50331649
Operation ID: 50331650
Operation ID: 50331652
Operation ID: 50331656
Operation ID: 50331664
Operation ID: 67108865
Operation ID: 67108866
Operation ID: 67108868
Operation ID: 67108872
Operation ID: 67108880
Operation ID: 83886081
Operation ID: 83886082
Operation ID: 83886084
Operation ID: 83886088
Operation ID: 83886096
Operation ID: 83886112
Operation ID: 83886144
Operation ID: 83886208
Operation ID: 83886336
Operation ID: 83886592
Operation ID: 117440513
Operation ID: 117440514
Operation ID: 134217729
Operation ID: 134217730
Operation ID: 167772161
Operation ID: 167772162
Operation ID: 201326593
Operation ID: 201326594
Operation ID: 201326596
Operation ID: 218103809
Operation ID: 218103810
Operation ID: 218103812
Operation ID: 218103816
Operation ID: 218103824
Operation ID: 218103840
Operation ID: 218103872
Operation ID: 218103936
Operation ID: 234881025
Operation ID: 234881026
Operation ID: 234881027
Operation ID: 536870915
Operation ID: 536870916

Role ID: 2
Role Name: Encryptor
Operation Count: 27
Operation ID: 16777217
Operation ID: 16777218
Operation ID: 16777219
Operation ID: 33554433
Operation ID: 33554434
Operation ID: 33554436
Operation ID: 50331649
Operation ID: 50331664
Operation ID: 83886088
Operation ID: 83886096
Operation ID: 83886208
Operation ID: 83886336
Operation ID: 83886592
Operation ID: 100663297
Operation ID: 134217729
Operation ID: 134217730
Operation ID: 167772161
Operation ID: 167772162
Operation ID: 218103816
Operation ID: 268435457
Operation ID: 268435458
Operation ID: 301989891
Operation ID: 301989892
Operation ID: 318767105
Operation ID: 536870915
Operation ID: 536870916
Operation ID: 553648129

Role ID: 3
Role Name: Exchanger
Operation Count: 6
Operation ID: 100663297
Operation ID: 234881025
Operation ID: 234881026
Operation ID: 234881027
Operation ID: 536870915
Operation ID: 536870916

Role ID: 4
Role Name: Secure Folder Manager
Operation Count: 9
Operation ID: 167772161
Operation ID: 167772162
Operation ID: 301989889
Operation ID: 301989890
Operation ID: 301989891
Operation ID: 301989892
Operation ID: 301989893
Operation ID: 301989894
Operation ID: 318767105

Role ID: 5
Role Name: Offline Access
Operation Count: 4
Operation ID: 184549377
Operation ID: 184549378
Operation ID: 184549379
Operation ID: 184549380

Role ID: 1001
Role Name: TestRole1
Operation Count: 2
Operation ID: 16777217
Operation ID: 16777218
Disconnected from localhost