|
Astra Linux Directory Client Core API
1.7.0
|
См. документацию.
26 void send_str(ostream& o,
const string& s,
bool checklen =
true);
29 void read_str(istream& i,
string& s,
bool checklen =
true);
60 inline const string &
name()
const {
return m_strName;}
62 inline const string &
desc()
const {
return m_strDesc;}
92 virtual bool IsAuthenticated() = 0;
94 virtual bool IsAuthorized() = 0;
95 virtual bool IsAdmin() = 0;
96 virtual bool IsSuperuser() = 0;
97 virtual bool IsService() = 0;
101 virtual string localhost() = 0;
103 virtual int localport() = 0;
104 virtual string peerhost() = 0;
105 virtual int peerport() = 0;
116 #define ALD_LOAD_RPC_COMMANDS "LoadRpcCommands"
118 #define ALD_RPC_KEY "RPC"
119 #define ALD_LPC_KEY "LPC"
140 #define MK_BROADCAST_MESSAGE(msg, arg) string(msg)+":"+arg
149 #endif //ALD_RPC_UTILS
virtual ald_rpc_command_map & commands(const string &key)=0
Возвращает указанную карту команд (RPC или LPC)
@ arckAuthorized
Для авторизованных пользователей
Definition: ALDRpcUtils.h:44
arcPrivKind m_PrivKind
Класс безопасности (default arckPrivileged)
Definition: ALDRpcUtils.h:57
void * extra
Доп. параметр
Definition: ALDRpcUtils.h:126
const string & name() const
Возвращает имя
Definition: ALDRpcUtils.h:60
IALDCore * m_pCore
Указатель на интерфейс ядра
Definition: ALDRpcUtils.h:54
virtual ald_rpc_request & request()=0
Возвращает RPC запрос
ald_rpc_command_map * mapRpcCmds
Карта RPC команд
Definition: ALDRpcUtils.h:124
string m_strName
Имя
Definition: ALDRpcUtils.h:55
Объявление RPC интерфейса Astra Linux Directory.
arcPrivKind kind() const
Возвращает класс безопасности
Definition: ALDRpcUtils.h:64
bool SendBroadcastMessage(IALDCore &Core, const string &msg, ald_string_list *responses=NULL, int timeout=3)
Отправка широковещательного сообщения
void read_str(istream &i, string &s, bool checklen=true)
Чтение строки из потока
void send_size(ostream &o, size_t s)
Запись размера в поток
void send_str(ostream &o, const string &s, bool checklen=true)
Запись строки в поток
Абстрактный класс IALDCore - основной интерфейс клиента Astra Linux Directory, с помощью которого вып...
Definition: ALDCore.h:242
virtual void Run(ald_rpc_request &request, IALDRpcSession *session, void *extra)=0
Перегружаемая процедура обработки
const string & desc() const
Возвращает описание
Definition: ALDRpcUtils.h:62
Абстрактный интерфейс RPC сессии
Definition: ALDRpcUtils.h:88
Объявление идентификаторов команд RPC интерфейса Astra Linux Directory (см. ald-rpc....
map< string, CALDRpcCommandPtr > ald_rpc_command_map
Карта RPC команд (имя => разделяемый указатель на RPC команду)
Definition: ALDRpcUtils.h:82
map< string, string > ald_string_map
MAP строка => строка
Definition: ALDUtils.h:164
shared_ptr< CALDRpcCommand > CALDRpcCommandPtr
Разделяемый указатель на RPC команду
Definition: ALDRpcUtils.h:79
virtual string userId()=0
Возвращает идентификатор клиента
Структура RPC запроса
Definition: ald-rpc.h:78
@ arckAuthenticated
Для аутентифицированных пользователей
Definition: ALDRpcUtils.h:43
const char * rpcmsgtype2str(unsigned short message)
Вовзращает описание типа сообщения
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
Структура события ALD_LOAD_RPC_COMMANDS.
Definition: ALDRpcUtils.h:123
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:10
@ arckPrivileged
Для привилегированных пользователей
Definition: ALDRpcUtils.h:45
string m_strDesc
Описание
Definition: ALDRpcUtils.h:56
CALDRpcCommand(IALDCore &Core)
Конструктор
Класс ALD - пользователь
Definition: ALDObjects.h:466
@ arckPublic
Публичная
Definition: ALDRpcUtils.h:42
void read_size(istream &i, size_t &s)
Чтение размера из потока
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
arcPrivKind
Класс безопасности команды
Definition: ALDRpcUtils.h:41
Класс RPC команды
Definition: ALDRpcUtils.h:52