Astra Linux Directory Client Core API  1.7.0
#include "common.h"
#include "ALDCore.h"
#include "ALDCoreUtils.h"
#include "ALDLogProvider.h"
#include "ldap-wrapper.h"
#include <string>
#include <memory>

См. исходные тексты.

Классы

class  ALD::CALDObject
 
class  ALD::CALDUser
 
class  ALD::CALDGroup
 
class  ALD::CALDTask
 
class  ALD::CALDEvTask
 
class  ALD::CALDPolicy
 
class  ALD::CALDService
 
class  ALD::CALDSvcGroup
 
class  ALD::CALDHostGroup
 
class  ALD::CALDHost
 
class  ALD::CALDAdmGroup
 
class  ALD::CALDDomainLogCfg
 
class  ALD::CALDTrustedDomain
 
class  ALD::CALDDocument
 
class  ALD::CALDDomain
 
struct  ALD::ald_object_action_extra
 
struct  ALD::ald_pam_user_extra
 
struct  ALD::ald_portable_save_extra
 
struct  ALD::ald_portable_load_extra
 
struct  ALD::ald_delete_object_extra
 
struct  ALD::ald_task_extra
 

Пространства имен

 ALD
 

Макросы

#define ALD_INVALID_ID   0
 
#define ALD_PBK_HEAD   "<<{ ALD Portable Backup File }>>"
 
#define ALD_PBK_PREFIX   "<<{ ALDObject: "
 
#define ALD_PBK_SUFFIX   ">>}"
 
#define ALD_PBK_SIGN(type)   string(ALD_PBK_PREFIX)+type
 
#define ALD_INFO_UNCHANGED   -1
 
#define ALD_INFO_DEFAULT   0
 
#define LOAD_FIELD(is, nline, line, field, value)   {if(LoadField(is, nline, line, field, value) != aolfsLoaded) return aolsError;}
 
#define LOAD_FIELDS(is, nline, line, field, values)   {if(LoadFields(is, nline, line, field, values) == aolfsError) return aolsError;}
 
Типы объектов
#define ALD_OT_DUMMY   "ALD_DUMMY"
 
#define ALD_OT_DOMAIN   "ALD_DOMAIN"
 
#define ALD_OT_USER   "ALD_DOMAIN_USER"
 
#define ALD_OT_GROUP   "ALD_DOMAIN_GROUP"
 
#define ALD_OT_TASK   "ALD_TASK"
 
#define ALD_OT_EVTASK   "ALD_EVTASK"
 
#define ALD_OT_POLICY   "ALD_DOMAIN_POLICY"
 
#define ALD_OT_SERVICE   "ALD_DOMAIN_SERVICE"
 
#define ALD_OT_SVCGROUP   "ALD_DOMAIN_SERVICE_GROUP"
 
#define ALD_OT_HOST   "ALD_HOST"
 
#define ALD_OT_HOSTGROUP   "ALD_HOST_GROUP"
 
#define ALD_OT_ADMGROUP   "ALD_DOMAIN_ADM_GROUP"
 
#define ALD_OT_LOG_CFG   "ALD_DOMAIN_LOG_CFG"
 
#define ALD_OT_TD   "ALD_TRUSTED_DOMAIN"
 
#define ALD_OT_DOCUMENT   "ALD_DOCUMENT"
 
Этапы сохранения резервной копии
#define ALD_SS_START   "ALD_SS_START"
 
#define ALD_SS_POLICIES   "ALD_SS_POLICIES"
 
#define ALD_SS_HOSTS   "ALD_SS_HOSTS"
 
#define ALD_SS_HOSTGROUPS   "ALD_SS_HOSTGROUPS"
 
#define ALD_SS_USERS   "ALD_SS_USERS"
 
#define ALD_SS_GROUPS   "ALD_SS_GROUPS"
 
#define ALD_SS_SERVICES   "ALD_SS_SERVICES"
 
#define ALD_SS_SVCGROUPS   "ALD_SS_SVCGROUPS"
 
#define ALD_SS_DOCUMENTS   "ALD_SS_DOCUMENTS"
 
#define ALD_SS_ADMGROUP   "ALD_SS_ADMGROUP"
 
#define ALD_SS_LOG_CFG   "ALD_SS_LOGCFG"
 
#define ALD_SS_FINISH   "ALD_SS_FINISH"
 
Вычисление имени события по объекту и суффиксу действия
#define ALD_OBJECT_ACTION(object, action)   string(object)+":"+action
 
#define ALD_OBJECT_ADDED   "ADDED"
 
#define ALD_OBJECT_CK_REMOVAL   "CHECK_REMOVAL"
 
#define ALD_OBJECT_DO_REMOVING   "DO_REMOVING"
 
#define ALD_OBJECT_REMOVED   "REMOVED"
 
#define ALD_OBJECT_MODIFIED   "MODIFIED"
 
Базовые элементы маски модифицируемых полей
#define ALD_SET_NAME   0x00001
 
#define ALD_SET_GID   0x00002
 
#define ALD_SET_DESC   0x00004
 
#define ALD_SET_MEMBERS   0x00008
 
#define ALD_SET_UID   0x00010
 
#define ALD_SET_HOME   0x00020
 
#define ALD_SET_SHELL   0x00040
 
#define ALD_SET_FULL_NAME   0x00080
 
#define ALD_SET_GECOS   0x00100
 
#define ALD_SET_POLICY   0x00200
 
#define ALD_SET_PWCHANGE   0x00400
 
#define ALD_SET_HOME_TYPE   0x00800
 
#define ALD_SET_CAPS   0x01000
 
#define ALD_SET_STATE   0x02000
 
#define ALD_SET_HOME_SRV   0x04000
 
#define ALD_SET_LGROUPS   0x08000
 
#define ALD_SET_FLAGS   0x10000
 
#define ALD_CLR_FAILCNT   0x20000
 
Значения разрядов маски ALD привилегий
#define ALD_CAP_ADMIN   0x80000000
 
#define ALD_CAP_LOCKED   0x40000000
 
#define ALD_CAP_USER   0x0
 
#define ALD_CAP_HOST_ADDER   0x1
 
#define ALD_CAP_ALL_HOST_ADDER   0x2
 
#define ALD_CAP_ADM_USER   0x4
 
#define ALD_CAP_LOGIN_MASK   (ALD_CAP_ADMIN | ALD_CAP_HOST_ADDER | ALD_CAP_ALL_HOST_ADDER | ALD_CAP_ADM_USER)
 
#define ALD_CAP_FULL_MASK
 
Уровни информации пользователя
#define ALD_USER_INFO_0   0
 
#define ALD_USER_INFO_1   1
 
#define ALD_USER_INFO_2   2
 
#define ALD_USER_INFO_3   3
 
#define ALD_USER_INFO_4   4
 
Идентификаторы полей пользователя
#define ALD_USER_PROP_NAME   0
 
#define ALD_USER_PROP_UID   1
 
#define ALD_USER_PROP_GID   2
 
#define ALD_USER_PROP_CAPS   3
 
#define ALD_USER_PROP_HOME   4
 
#define ALD_USER_PROP_HOMETYPE   5
 
#define ALD_USER_PROP_GECOS   6
 
#define ALD_USER_PROP_SHELL   7
 
#define ALD_USER_PROP_DESC   8
 
#define ALD_USER_PROP_FULLNAME   9
 
#define ALD_USER_PROP_POLICY   10
 
#define ALD_USER_PROP_HOMESRV   11
 
#define ALD_USER_PROP_LGROUPS   12
 
Уровни информации группы
#define ALD_GROUP_INFO_0   0
 
#define ALD_GROUP_INFO_1   1
 
Идентификаторы полей группы
#define ALD_GROUP_PROP_NAME   0
 
#define ALD_GROUP_PROP_GID   1
 
#define ALD_GROUP_PROP_MEMBER   2
 
#define ALD_GROUP_PROP_DESC   3
 
Значение статуса задания ALD
#define ALD_TASK_STATUS_PENDING   0
 
#define ALD_TASK_STATUS_OK   1
 
#define ALD_TASK_STATUS_ERROR   -1
 
Значения фильтра статуса задания ALD
#define ALD_TASK_STATUS_FILTER_PENDING   0x01
 
#define ALD_TASK_STATUS_FILTER_OK   0x02
 
#define ALD_TASK_STATUS_FILTER_ERROR   0x04
 
#define ALD_TASK_STATUS_FILTER_ALL   0x07
 
Уровни информации задания
#define ALD_TASK_INFO_1   1
 
#define ALD_TASK_INFO_2   2
 
Идентификаторы полей группы сервисов
#define ALD_SGROUP_PROP_NAME   0
 
#define ALD_SGROUP_PROP_MEMBER   1
 
Уровни информации группы компьютеров
#define ALD_HGROUP_INFO_0   0
 
#define ALD_HGROUP_INFO_1   1
 
#define ALD_HOST_INFO_0   0
 
#define ALD_HOST_INFO_1   1
 
Идентификаторы полей группы компьютеров
#define ALD_HGROUP_PROP_NAME   0
 
#define ALD_HGROUP_PROP_HOST   1
 
#define ALD_HGROUP_PROP_DESC   2
 
Идентификаторы полей компьютера
#define ALD_HOST_PROP_NAME   0
 
#define ALD_HOST_PROP_DESC   1
 
#define ALD_HOST_PROP_FLAGS   2
 
#define ALD_HOST_PROP_ID   3
 
Символы флагов компьютера
#define ALD_HOST_DC   'C'
 
#define ALD_HOST_PRIMARY   'P'
 
#define ALD_HOST_FS   'F'
 
#define ALD_HOST_DISABLED   'D'
 
#define ALD_HOST_EMPTY   "[]"
 
#define ALD_HOST_PDC   "[PCF]"
 
#define ALD_HOST_BDC   "[CF]"
 
#define ALD_OLD_SRV   "[PCF]"
 
Идентификаторы полей шаблонов протоколирования
#define ALD_LOG_CFG_DEST   0
 
#define ALD_LOG_CFG_TPL   1
 
Уровни информации доверенного домена
#define ALD_TD_INFO_0   0
 
#define ALD_TD_INFO_1   1
 
Идентификаторы полей доверенного домена
#define ALD_TD_PROP_NAME   0
 
#define ALD_TD_PROP_KDC   1
 
#define ALD_TD_PROP_DESC   2
 
#define ALD_TD_PROP_DIR   3
 
Типы доверительных отношений
#define ALD_TD_DISABLED   0
 
#define ALD_TD_INBOUND   0x1
 
#define ALD_TD_OUTBOUND   0x2
 
#define ALD_TD_BIDIRECTIONAL   (ALD_TD_INBOUND|ALD_TD_OUTBOUND)
 
Уровни информации документа
#define ALD_DOCUMENT_INFO_0   0
 
#define ALD_DOCUMENT_INFO_1   1
 
Идентификаторы полей документа
#define ALD_DOCUMENT_PROP_NAME   0
 
#define ALD_DOCUMENT_PROP_VER   1
 
#define ALD_DOCUMENT_PROP_TITLE   2
 
#define ALD_DOCUMENT_PROP_LOCATION   3
 
#define ALD_DOCUMENT_PROP_DESC   4
 
Идентификаторы внутренних документов
#define ALD_INTDOC_UID   "ALD/DOMAIN/NextUID"
 
#define ALD_INTDOC_GID   "ALD/DOMAIN/NextGID"
 
#define ALD_INTDOC_TID   "ALD/DOMAIN/NextTID"
 
#define ALD_INTDOC_EID   "ALD/DOMAIN/NextEID"
 
Идентификаторы полей домена
#define ALD_DOMAIN_PROP_ORG   0
 
#define ALD_DOMAIN_PROP_STATE   0
 
#define ALD_DOMAIN_PROP_TEL   0
 
#define ALD_DOMAIN_PROP_ADDR   0
 
#define ALD_DOMAIN_PROP_DESC   0
 
Группа вспомогательных макросов
#define CHECK_VALID   ALD_CHECK(m_bValid, ERR_INVALID_OBJECT)
 
#define CHECK_NAME_VALID   ALD_CHECK(!m_strName.empty(), ERR_INVALID_OBJECT)
 
#define QLOG_WARN(warn)   {if(!quiet) LOG_WARN(warn);}
 
#define QLOG_ERR(warn)   {if(!quiet) LOG_ERR(warn);}
 
#define QALD_ERR(err)   {if(!quiet) ALD_ERROR(err);}
 
Группа макросов вызовов триггеров объекта
#define ALD_OBJECT_TRIGGER_CHECK(action, quiet)
 
#define ALD_OBJECT_TRIGGER_ACTION(action, quiet)
 

Определения типов

typedef int ALD::ald_info_level
 
typedef shared_ptr< CALDObjectALD::CALDObjPtr
 
typedef unsigned int ALD::ald_user_caps
 
typedef shared_ptr< CALDUserALD::CALDUserPtr
 
typedef shared_ptr< CALDGroupALD::CALDGroupPtr
 
typedef int ALD::ald_task_status
 
typedef shared_ptr< CALDTaskALD::CALDTaskPtr
 
typedef shared_ptr< CALDEvTaskALD::CALDEvTaskPtr
 
typedef shared_ptr< CALDPolicyALD::CALDPolicyPtr
 
typedef shared_ptr< CALDServiceALD::CALDServicePtr
 
typedef shared_ptr< CALDSvcGroupALD::CALDSvcGroupPtr
 
typedef shared_ptr< CALDHostGroupALD::CALDHostGroupPtr
 
typedef shared_ptr< CALDHostALD::CALDHostPtr
 
typedef shared_ptr< CALDAdmGroupALD::CALDAdmGroupPtr
 
typedef shared_ptr< CALDDomainLogCfgALD::CALDDomainLogCfgPtr
 
typedef shared_ptr< CALDTrustedDomainALD::CALDTrustedDomainPtr
 
typedef shared_ptr< CALDDocumentALD::CALDDocumentPtr
 
typedef shared_ptr< CALDDomainALD::CALDDomainPtr
 

Перечисления

enum  ALD::aoLoadStatus { ALD::aolsLoaded, ALD::aolsContinue, ALD::aolsError }
 
enum  ALD::aoLoadFieldStatus { ALD::aolfsLoaded, ALD::aolfsUnexpected, ALD::aolfsEnd, ALD::aolfsError }
 
enum  ALD::aoOperation { ALD::aooGet, ALD::aooCreate, ALD::aooModify, ALD::aooRemove }
 
enum  ALD::aoTriggerActionType { ALD::aotatAction, ALD::aotatCheck }
 

Функции

string ALD::ModHostFlags (const string &flags, char flag, bool op)
 
CALDHostPtr ALD::GetServer (CALDConnectionPtr Conn)
 
CALDHostPtr ALD::GetHost (CALDConnectionPtr Conn)
 
bool ALD::UpdateServiceInKeytab (CALDConnectionPtr Conn, const string &keytab, const string &service, bool create)
 
void ALD::ShowLdapOperInfo (CALDObject &object, ostream &out)
 
void ALD::SetALDTimestamp (CALDObject &object, const string &tsname, time_t ts=0)
 
string ALD::GetALDTimestamp (CALDObject &object, const string &tsname)
 

Группа макросов нотификации операций с объектом

#define ALD_OBJECT_START_OPERATION(op, arg)   StartOperation(PFM2Name(__PRETTY_FUNCTION__), op, arg, "", false)
 
#define ALD_OBJECT_START_OPERATION_FORCE(op, arg, force)   StartOperation(PFM2Name(__PRETTY_FUNCTION__), op, arg, "", force)
 
#define ALD_OBJECT_START_OPERATION_DETAIL(op, arg, det)   StartOperation(PFM2Name(__PRETTY_FUNCTION__), op, arg, det, false)
 
#define ALD_OBJECT_COMMIT_OPERATION(op)   CommitOperation(PFM2Name(__PRETTY_FUNCTION__), op, false)
 
#define ALD_OBJECT_COMMIT_OPERATION_PE(op)   CommitOperation(PFM2Name(__PRETTY_FUNCTION__), op, true)
 
#define ALD_OBJECT_COMMIT_OPERATION_PEQ(op)   CommitOperation(PFM2Name(__PRETTY_FUNCTION__), op, true, quiet)
 
bool ALD::IfAdminCanManageHost (CALDConnectionPtr conn, const string &admin, const string &host)
 
bool ALD::IfAdminCanManageHostGroup (CALDConnectionPtr conn, const string &admin, const string &hostgroup)
 

Подробное описание

Объявление классов объектной модели данных Astra Linux Directory.