Namespaces and Classes
System Context
Namespace System
The System
-namespace contains all basic data types and classes used in .net.
Data types:
Double
Single
Byte
SByte
Int16
Int32
Int64
UInt16
UInt32
UInt64
String
DateTime
Guid
Classes:
Exception
ArgumentException
Namespace System.Collections.Generic
The namespace System.Collections.Generic
contains lists and collections.
Classes:
List<T>
SortedList<T>
Dictionary<key, value>
HashSet<T>
Queue<T>
Stack<T>
Namespace System.Linq
The namespace System.Linq
extends collections with query language.
Example: The method First()
or FirstOrDefault()
are available in this namespace:
object Node = DeviceInfo.DataNodes.First(n => n.Name == "OperationMode");
Namespace System.Text
The namespace System.Text
contains helper classes to handle text encoding and transformations.
Classes:
Encoding
: class providing different encoding methods, like UTF8, ANSI, ASCII, etc.StringBuilder
: class helping to build larger string content
Namespace System.Text.RegularExpressions
The namespace System.Text.RegularExpressions
contains the classes for regular expression handling.
Classes:
Regex
: class for regexp matching
For regular expression syntax, check the Online RegExp Tester.
Namespace System.Xml
The namespace System.Xml
contains classes to handle XML documents and streams.
Classes:
XmlNamespaceManager
: handles the different namespaces in an XML document
Namespace System.Xml.Linq
This namespace contains a lightweight XML parsing and management implementation.
Classes:
XDocument
: Wraps the entire documentXElement
: Wraps an xml element from the document
We recommend to use
XDocument
instead of the former classXmlDocument
, since the implementation and runtime behavior is much more performant.
Namespace System.Xml.XPath
The namespace System.Xml.XPath
extends the XML classes for xpath queries.
Methods:
el.XPathSelectElement()
: queries a single XML nodeel.XPathSelectElements()
: queries a collection of XML nodes
Library Newtonsoft.Json
Namespace Newtonsoft.Json
The Newtonsoft.Json
namespace contains classes to handle JSON formatted data.
Classes:
JsonConvert
: helper to serialize or deserialize objects to or from JSON
Namespace Newtonsoft.Json.Linq
The Newtonsoft.Json.Linq
namespace contains classes to programmatically access parsed JSON content.
JToken
JObject
JArray
JToken
CyberTech Library
The CyberTech
library contains several helper classes and some extensions for basic data types
NUGET: CyberTech.dll
Namespace CyberTech
Classes:
TDateTime
: Extension to get high precision timestampsTFloat
: extensions for floating point numbersTDecimal
: extensions for decimal point numbersTInt
: extensions fore integers
Namespace CyberTech.Diagnostics
Classes:
TLogger
: Logger instance to simply log information to files or console
Namespace CyberTech.Json
Classes:
TJsonSerializer
: JSON serializer to format object models to JSON.
HumanOS.Kernel.Base Library
The HumanOS.Kernel.Base
library contains helper classes and basic interfaces to access HumanOS kernel functionality.
NUGET: HumanOS.Kernel.Base.dll
Namespace HumanOS.Kernel
Interfaces:
IKernelAccess
: interface to access kernel functionality like NodeSpace, SystemController etc.
Namespace HumanOS.Kernel.Communication
Interfaces:
IDataStream
: Interface to access a data stream. Used to read or write data to streams from connectors.IHttpStream
: Interface to access a http based stream.
Namespace HumanOS.Kernel.Communication.Http
DataTypes:
EContentType
: Supported http content types
Classes:
THttpClient
: Simple http client implementationTHttpResponse
: class wraps the parsed response of a HTTP request.
Namespace HumanOS.Kernel.DataModel
The data model namespace contains interfaces of NodeSpace objects.
Interfaces:
IDataNode<T>
: Interface to access data nodesICommandNode
: Interface for command nodesIAlarmEventPoolNode
: Interface to access alarm an eventsIGroupRelation
: interface to access groups of nodes
Namespace HumanOS.Kernel.DataModel.Entity
The namespace HumanOS.Kernel.DataModel.Entity
contains interfaces and classes to manage entity collections and aggregated structures (entities).
Classes:
TGenericEntity
: generic entity used to aggregate data to a single wrapper
Interfaces:
IEntityCollectionNode
: node handling entity collections, like SQL database tables or views.
Namespace HumanOS.Kernel.DataModel.Space
This namespace contains the basic interface to access the node space.
Interfaces:
INodeSpace
Namespace HumanOS.Kernel.InfoModel
The namespace HumanOS.Kernel.InfoModel
contains the information model of factored JSON schema files.
Classes:
TAlarmEventPoolNodeInfo
: represents an alarm event pool modelTArgumentInfo
: represents the argument model for commandsTCommandNodeInfo
: represents the command modelTConstantNodeInfo
: represents the constant modelTDataNodeInfo
: represents a data node modelTGroupRelationInfo
: represents a group node modelTPortInfo
: represents a port model
Namespace HumanOS.Kernel.InfoModel.Entity
The namespace HumanOS.Kernel.InfoModel.Entity
contains the information model of factored entity collections.
Classes:
TEntityCollectionInfo
: represents an entity collection modelTEntityFieldInfo
: represents a field of an entity
Namespace HumanOS.Kernel.InfoModel.Processing
The namespace HumanOS.Kernel.InfoModel.Processing
contains the information model of factored processing networks.
Classes:
TProcessingNetworkInfo
: represents the network modelTProcessingNodeInfo
: represents the processor model
Namespace HumanOS.Kernel.InfoModel.Rules
The namespace HumanOS.Kernel.InfoModel.Rules
contains the information model of factored rules.
Classes:
TRuleInfo
: represents a rule model
Namespace HumanOS.Kernel.Processing
The processing network and processor interfaces are kept in this namespace.
Interfaces:
IProcessingNode
: interface to access processing nodes
DataTypes:
EProcessingState
: enum declaring the different states in a processing task. Also used as return value for command processing state.
Classes:
TAbstractProcessingScriptObject
: base class for processing scripts.
Namespace HumanOS.Kernel.Utils
Classes:
TCommandArgs
: wraps the input and output arguments of command callsTCommandHelper
: helper to call commands in node space.TDataTimeSeries<T>
: organizes data in a time seriesTSimpleVariant
: helper to wrap different data types in one containerTValueConverter
: helper to convert objects and arrays from string or to a stringTValueConverterEngine<T>
andTValueConverterEngine<Tin, Tout>
: engine to convert data using expressions or mappings.
HumanOS.Kernel.PeSeL Library
The HumanOS.Kernel.PeSeL
library contains classes and script base for data loggers and subscribers.
Namespace HumanOS.Kernel.PeSeL.DataLogger
Classes:
TDataSet
: containing an observed set of data. Used by data loggers
Namespace HumanOS.Kernel.PeSeL.Script
Contains script base classes:
TAbstractDataConsumerScriptObject<T>
: Base class for consumer scriptsTAbstractDataLoggerScriptObject<T>
: Base class for data logger scriptsTAbstractXmlPayloadScriptObject
: Base class for web service scriptsTPayloadProcessingContext
: processing context object passed when a script is executed
HumanOS.Kernel.UHAL Library
The HumanOS.Kernel.UHAL
library is used to handle devices and device connectors, including scripting their payload.
Namespace HumanOS.Kernel.UHAL.Script
Classes:
TAbstractHttpScriptObject
: base class for WebControl or HTTP(S) based connectorsTAbstractHttpStreamScriptObject
: base class for HTTP(S) stream based connectorsTAbstractLogicScriptObject
: base class for UHAL logic implementations with commandsTAbstractStreamScriptObject
: base class for byte oriented stream protocols like serial or tcp based streams
Namespace HumanOS.Kernel.UHAL.InfoModel
The namespace HumanOS.Kernel.UHAL.InfoModel
contains the object model of a device (factored device JSON).
This extends the classes from namespace HumanOS.Kernel.InfoModel.
Classes:
TDeviceSchemaInfo
: parsed device schema fileTUHALAlarmEventPoolNodeInfo
: model extends the alarm event pool for devicesTUHALCommandNodeInfo
: model extends the commands for devicesTUHALDataNodeInfo
: model extends the data nodes for devicesTUHALGroupRelationInfo
: model extends the group nodes for devicesTUHALProcessingNetworkInfo
: model extends the processing networks for devicesTUHALRuleInfo
: model extends the rules for devices