libhomegear-base  0.7
Base library for Homegear and Homegear family modules.
BaseLib Namespace Reference

Namespaces

 Database
 
 DeviceDescription
 
 HmDeviceDescription
 
 Licensing
 
 LowLevel
 
 Rpc
 
 ScriptEngine
 
 Security
 
 Systems
 

Classes

class  Ansi
 
class  Base64
 
class  BinaryDecoder
 
class  BinaryDecoderException
 
class  BinaryEncoder
 
class  BitReaderWriter
 
class  Color
 
struct  EntityNameEntry
 
class  Environment
 
class  EventHandler
 
class  Exception
 Base class for all exceptions defined in Homegear. More...
 
struct  FileDescriptor
 
class  FileDescriptorManager
 
class  GZip
 
class  GZipException
 
class  Ha
 
class  HelperFunctions
 This class provides functions to make your life easier. More...
 
class  Hgdc
 
class  Html
 
class  HtmlException
 
class  Http
 
class  HttpClient
 This class provides a basic HTTP client. More...
 
class  HttpClientException
 Exception class for the HTTP client. More...
 
class  HttpClientSocketClosedException
 Exception class for timeouts of the HTTP client. More...
 
class  HttpClientTimeOutException
 Exception class for timeouts of the HTTP client. More...
 
class  HttpException
 
class  HttpServer
 This class provides a basic HTTP server. More...
 
class  HttpServerException
 Exception class for the HTTP server. More...
 
class  IEvents
 
class  IEventsEx
 
class  IEventSinkBase
 
class  Io
 This class provides functions to make your life easier. More...
 
class  IQueue
 This class implements a queue after the producer-consumer paradigm. More...
 
class  IQueueBase
 
class  IQueueEntry
 
class  ITimedQueue
 
class  ITimedQueueEntry
 
class  Math
 
class  Modbus
 This class provides a Modbus client. More...
 
class  ModbusException
 Exception class for the Modbus server. More...
 
class  ModbusServerBusyException
 Exception class thrown when the Modbus server is busy. More...
 
class  Net
 Class with network related helper functions. More...
 
class  NetException
 Exception class for the HTTP client. More...
 
class  Output
 Class to print output of different kinds to the standard and error output. More...
 
class  Pid
 
class  ProcessException
 Exception class for Process. More...
 
class  ProcessManager
 
struct  Role
 
struct  RoleScaleInfo
 
class  RpcClientInfo
 
class  SerialDeviceManager
 
class  SerialReaderWriter
 
class  SerialReaderWriterException
 
class  ServiceMessage
 
class  Settings
 
class  SharedObjects
 This is the base library main class. More...
 
class  SocketAddressInUseException
 
class  SocketBindException
 
class  SocketClosedException
 
class  SocketDataLimitException
 
class  SocketInvalidParametersException
 
class  SocketOperationException
 
class  SocketSizeMismatchException
 
class  SocketSslException
 
class  SocketSslHandshakeFailedException
 
class  SocketTimeOutException
 
class  Ssdp
 
class  SsdpInfo
 
class  TcpSocket
 Class to easily create a TCP server or client. More...
 
class  ThreadManager
 
class  TranslationManager
 
class  UdpSocket
 
class  Variable
 
class  WebSocket
 
class  WebSocketException
 

Typedefs

typedef std::shared_ptr< EventHandlerPEventHandler
 
typedef std::unordered_map< IEventSinkBase *, PEventHandlerEventHandlers
 
typedef std::unordered_map< int32_t, PFileDescriptorFileDescriptors
 
typedef std::shared_ptr< FileDescriptorPFileDescriptor
 
typedef std::shared_ptr< RpcClientInfoPRpcClientInfo
 
typedef std::shared_ptr< BaseLib::TcpSocketPTcpSocket
 
typedef std::shared_ptr< BaseLib::UdpSocketPUdpSocket
 
typedef std::shared_ptr< VariablePVariable
 
typedef std::shared_ptr< ServiceMessagePServiceMessage
 
typedef std::shared_ptr< PVariablePPVariable
 
typedef std::pair< std::string, PVariableStructElement
 
typedef std::map< std::string, PVariableStruct
 
typedef std::shared_ptr< std::map< std::string, PVariable > > PStruct
 
typedef std::vector< PVariableArray
 
typedef std::shared_ptr< ArrayPArray
 
typedef std::list< PVariableList
 
typedef std::shared_ptr< ListPList
 

Enumerations

enum  HaInstanceType {
  HaInstanceType::kUndefined = 0, HaInstanceType::kUnknown = 1, HaInstanceType::kNone = 2, HaInstanceType::kMaster = 3,
  HaInstanceType::kSlave = 4
}
 
enum  RpcClientType {
  RpcClientType::generic, RpcClientType::ipsymcon, RpcClientType::ccu2, RpcClientType::homematicconfigurator,
  RpcClientType::homeassistant
}
 
enum  RpcType {
  RpcType::unknown, RpcType::xml, RpcType::binary, RpcType::json,
  RpcType::websocket, RpcType::mqtt, RpcType::rest, RpcType::webserver
}
 
enum  RoleLevel { RoleLevel::undefined = -1, RoleLevel::mainCategory = 0, RoleLevel::subCategory = 1, RoleLevel::role = 2 }
 
enum  RoleDirection { RoleDirection::undefined = -1, RoleDirection::input = 0, RoleDirection::output = 1, RoleDirection::both = 2 }
 
enum  ServiceMessageType { ServiceMessageType::kGlobal = 0, ServiceMessageType::kFamily = 1, ServiceMessageType::kDevice = 2 }
 
enum  ServiceMessagePriority {
  ServiceMessagePriority::kUndefined = 0, ServiceMessagePriority::kCritical = 1, ServiceMessagePriority::kError = 2, ServiceMessagePriority::kWarning = 3,
  ServiceMessagePriority::kInfo = 4, ServiceMessagePriority::kDebug = 5
}
 
enum  VariableType {
  VariableType::tVoid = 0x00, VariableType::tInteger = 0x01, VariableType::tBoolean = 0x02, VariableType::tString = 0x03,
  VariableType::tFloat = 0x04, VariableType::tArray = 0x100, VariableType::tStruct = 0x101, VariableType::tBase64 = 0x11,
  VariableType::tBinary = 0xD0, VariableType::tInteger64 = 0xD1, VariableType::tVariant = 0x1111
}
 

Functions

struct BaseLib::FileDescriptor __attribute__ ((aligned(16)))
 
void * threadCountTest (void *)
 
int postClientHello (gnutls_session_t tlsSession)
 

Variables

class BaseLib::FileDescriptorManager __attribute__
 
bool _stopThreadCountTest = false
 

Typedef Documentation

§ Array

typedef std::vector<PVariable> BaseLib::Array

§ EventHandlers

typedef std::unordered_map<IEventSinkBase *, PEventHandler> BaseLib::EventHandlers

§ FileDescriptors

typedef std::unordered_map<int32_t, PFileDescriptor> BaseLib::FileDescriptors

§ List

typedef std::list<PVariable> BaseLib::List

§ PArray

typedef std::shared_ptr<Array> BaseLib::PArray

§ PEventHandler

typedef std::shared_ptr<EventHandler> BaseLib::PEventHandler

§ PFileDescriptor

typedef std::shared_ptr< FileDescriptor > BaseLib::PFileDescriptor

§ PList

typedef std::shared_ptr<List> BaseLib::PList

§ PPVariable

typedef std::shared_ptr<PVariable> BaseLib::PPVariable

§ PRpcClientInfo

typedef std::shared_ptr< RpcClientInfo > BaseLib::PRpcClientInfo

§ PServiceMessage

typedef std::shared_ptr<ServiceMessage> BaseLib::PServiceMessage

§ PStruct

typedef std::shared_ptr<std::map<std::string, PVariable> > BaseLib::PStruct

§ PTcpSocket

typedef std::shared_ptr<BaseLib::TcpSocket> BaseLib::PTcpSocket

§ PUdpSocket

typedef std::shared_ptr<BaseLib::UdpSocket> BaseLib::PUdpSocket

§ PVariable

typedef std::shared_ptr< Variable > BaseLib::PVariable

§ Struct

typedef std::map<std::string, PVariable> BaseLib::Struct

§ StructElement

typedef std::pair<std::string, PVariable> BaseLib::StructElement

Enumeration Type Documentation

§ HaInstanceType

Enumerator
kUndefined 
kUnknown 
kNone 
kMaster 
kSlave 

§ RoleDirection

Enumerator
undefined 
input 
output 
both 

§ RoleLevel

enum BaseLib::RoleLevel
strong
Enumerator
undefined 
mainCategory 
subCategory 
role 

§ RpcClientType

Enumerator
generic 
ipsymcon 
ccu2 
homematicconfigurator 
homeassistant 

§ RpcType

enum BaseLib::RpcType
strong
Enumerator
unknown 
xml 
binary 
json 
websocket 
mqtt 
rest 
webserver 

§ ServiceMessagePriority

Enumerator
kUndefined 
kCritical 
kError 
kWarning 
kInfo 
kDebug 

§ ServiceMessageType

Enumerator
kGlobal 
kFamily 
kDevice 

§ VariableType

enum BaseLib::VariableType
strong
Enumerator
tVoid 
tInteger 
tBoolean 
tString 
tFloat 
tArray 
tStruct 
tBase64 
tBinary 
tInteger64 
tVariant 

Function Documentation

§ __attribute__()

struct BaseLib::FileDescriptor BaseLib::__attribute__ ( (aligned(16))  )

§ postClientHello()

int BaseLib::postClientHello ( gnutls_session_t  tlsSession)

§ threadCountTest()

void* BaseLib::threadCountTest ( void *  )

Variable Documentation

§ __attribute__

class BaseLib::FileDescriptorManager BaseLib::__attribute__

§ _stopThreadCountTest

bool BaseLib::_stopThreadCountTest = false