Skip to main content
Version: 2.7

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
NOTE

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 document
  • XElement: Wraps an xml element from the document
NOTE

We recommend to use XDocument instead of the former class XmlDocument, 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 node
  • el.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 timestamps
  • TFloat: extensions for floating point numbers
  • TDecimal: extensions for decimal point numbers
  • TInt: 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 implementation
  • THttpResponse: 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 nodes
  • ICommandNode: Interface for command nodes
  • IAlarmEventPoolNode: Interface to access alarm an events
  • IGroupRelation: 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 model
  • TArgumentInfo: represents the argument model for commands
  • TCommandNodeInfo: represents the command model
  • TConstantNodeInfo: represents the constant model
  • TDataNodeInfo: represents a data node model
  • TGroupRelationInfo: represents a group node model
  • TPortInfo: 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 model
  • TEntityFieldInfo: 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 model
  • TProcessingNodeInfo: 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 calls
  • TCommandHelper: helper to call commands in node space.
  • TDataTimeSeries<T>: organizes data in a time series
  • TSimpleVariant: helper to wrap different data types in one container
  • TValueConverter: helper to convert objects and arrays from string or to a string
  • TValueConverterEngine<T> and TValueConverterEngine<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 scripts
  • TAbstractDataLoggerScriptObject<T>: Base class for data logger scripts
  • TAbstractXmlPayloadScriptObject: Base class for web service scripts
  • TPayloadProcessingContext: 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 connectors
  • TAbstractHttpStreamScriptObject: base class for HTTP(S) stream based connectors
  • TAbstractLogicScriptObject: base class for UHAL logic implementations with commands
  • TAbstractStreamScriptObject: 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 file
  • TUHALAlarmEventPoolNodeInfo: model extends the alarm event pool for devices
  • TUHALCommandNodeInfo: model extends the commands for devices
  • TUHALDataNodeInfo: model extends the data nodes for devices
  • TUHALGroupRelationInfo: model extends the group nodes for devices
  • TUHALProcessingNetworkInfo: model extends the processing networks for devices
  • TUHALRuleInfo: model extends the rules for devices