Interfaces
- IStandard — The base interface of all interfaces.
- IError — The standard error interface.
- IComponentLoaderRegistrar — Interface the allows to regsiter custom component loaders.
- IProcess — The root OmniKit object of the process.
- IProcessEnvironment — Environment and configuration for the process object.
- IEnvironment — An environment is a self-contained set of settings, search paths, object caches, and other facilities. In OmniKit, we keep global state to a minimum. The job of the process object is essentially to keep track of a default environment: the environment contains all the “smarts” of the system.
- IEnvironment2 — Extends IEnvironment.
- IConfigBuilder — A builder for a configuration.
- IConfig — A configuration of an APMF2 environment.
- IComponentLoadContext — A search context for component loading.
- IRuntimeFactory — A factory for making a runtime.
- IRuntime — A runtime.
- IDsoLoader — An object that attempts to load a component.
- IComponentLoader — An object that attempts to load a component.
- IDso — The per-DSO interface object.
- IInfoNode — A configuration node.
- ILogger — Core Hierarchical logger interface.
- ILoggingConfiguration — Logging configuration interface.
- ILogFilter — Filter for log message.
- ILoggerWithUuid — logging with uuid
- IDefaultLoggerConfigurator — Sets up default config for default APMF log sink.
- ISubscription — An object that represents a registration of an event listener to receive notifications from an event source. This object can be used to end the delivery of any further events to the listener.
- ICredential — Credentials are used to authorize security principals to perform actions
- IFileDescriptor
- IFileDescriptorFactory — FileDescriptor Factory interface.
- ICloseable — An interface used by handles that may be explicitly, or implicitly closed. This should be automatically called in three scenrios: * Automatically by a destructor * Explicitly by the developer * Implicitly in response to an underlying entity becoming unavailable.
- IByteBuffer — Shareable opaque bag of bytes supporting native access.
- IMutableByteBuffer — A byte buffer with contents that can change.
- IByteBufferMapping — Mapping of a byte buffer into memory.
- IMutableByteBufferMapping — Mutable mapping of a byte buffer into memory.
- IDataObject — Data object interface.
- IDataObjectBuilder — Data object builder interface.
- ITypeResolver — An interface for finding type information. Type resolver is implemented by IProcess Caller could call
GetProcessObject() .QueryInterface<ITypeResolver>()to get the type resolver object. - IVariantFactory
- IType
- IUserDefinedType
- ITypeVisitor
- IPrimitiveType
- IArrayType
- IPointerType
- IVariant — To create a variant, caller calls IVariantFactory.makeVariant and then calls IVariant.setToXXX to set the value.
- IVariantVisitor
- IAttributesProvider — Attributes can be practically attached to anything in OmniKit IDL, such as Packages, types, struct fields, methods, method parameters, enum values, etc. Instead of adding a getAttribute() to each of these interfaces as defined here, IAttributesProvider is provided. Interfaces that can attach attributes shall implement IAttributesProvider. Caller calls
queryInterface<IAttributesProvider>to get attributes. - IConstant
- IParameter
- IMethod
- IField
- IInterfaceType
- IDataObjectType
- IDataObjectBuilderType
- IStructType
- IEnumMember
- IEnumType
- IErrorType
- ICallableMethod
- IBoundMethod
- ICallableInterface
- IInvocationHandler
- IInterfaceProxyFactory
- IDataObjectBuffer — Interface for accessing the byte array buffer backing a Data Object.
- IDataObjectByteView — Strongly typed view over a serialized data object byte buffer.
- IDataObjectByteViewFactory — Factory interface for IDataObjectByteView.
Structs
- NumericConstants
- QiFlags
- Attribute — Marker struct indicating that a struct can be an attribute.
- Unsafe — Require native code.
- Deprecated — Denotes that the annotated function is marked for deprecation starting from the year and month provided.
- LogFilterResult — Log filter result.
- Uuid — Represents an universally unique identifier.
- RawTimeValue — A raw time value is a basic type that can be used to describe both absolute time and relative time.
- MonotonicInstant — Represents a point in time as measured from an arbitrary epoch using a monotonic clock. Useful for system timeouts.
- RealTimeInstant — Represents a point in time in the system’s clock. Useful for talking to external entities like the file system or other processes.
- MonotonicDuration — Represents a span of time. This type follows ISO 8601 Duration definition. This type is typically used for system timeouts and can be a result of comparison operations between two
MonotonicInstant’s. - RealTimeDuration — Represents a span of time calculated from a comparison between two
RealTimeInstant’s. This type follows ISO 8601 Duration definition. This type is functionally equivalent toMonotonicDurationbut it puts an emphasis on incompatibility between monotonic and real-time time measurements. Just likeMonotonicInstantcannot be compared toRealTimeInstant,RealTimeDurationcannot be added to aMonotonicInstant. - TimeZone — Represents a time zone from the IANA Time Zone Database such as “America/Los_Angeles”.
- Locale — Represents a set of user preferences relating to language and other regional preferences like calender system or currency formatting. A Unicode BCP47 Locale identifier string is used to describe the desired preferences.
- NativePointer
- IntAbsenceIs — Attribute used to annotate a method which may return an option of a value indicating which value represents lack of presence.
- StringAbsenceIs — Attribute used to annotate a method which may return an option of a value indicating which value represents lack of presence.
- BoolAbsenceIs — Attribute used to annotate a method which may return an option of a value indicating which value represents lack of presence.
- FloatAbsenceIs — Attribute used to annotate a method which may return an option of a value indicating which value represents lack of presence.
- Optional — Attribute used to annotate a method which may return an option of a value. Used in cases where it is not possible to establish a sentinel and we need to distinguish between any set value and value not being set.
Enumerations
- LogLevel — Severity level of log messages.
- PointerReturn — Type for handling optional output arguments in async interface.
- PointerKind
- PrimitiveKind
- VariantValueType
- ParameterDirection
Exceptions
- BaseError — The base of the exception hierarchy.
- OutOfMemoryError — Error thrown when we run out of memory.
- ForeignError — Error thrown to represent an error we don’t recognize.
- MalformedErrorError — Error thrown to represent an error with a mislabel hierarchy.
- NoSuchInterfaceError — Exception thrown when we don’t recognize an interface.
- BadImplCastError — Thrown when ImplCast fails.
- AbiBreakError — Exception thrown when the hash of an interface is wrong.
- InvalidArgumentError
- ForeignInvalidArgumentError
- NullPointerError
- OutOfBoundsError
- ForeignOutOfBoundsError
- RangeError
- LogicError
- ForeignLogicError
- ForeignRuntimeError
- NoSuchComponentError
- DeviceError
- TimeoutError
- SecurityError
- IoError
- FileSystemError
- NetworkError
- NotSupportedError
- ReadOnlyError
- InvalidOperationError
- DynamicLoadingError
- ExecutorStoppedError — Error thrown when an asynchronous operation is submitted to an stopped executor.
- OperationCancelledError — Error thrown when an asynchronous operation has been cancelled.
- AccessDeniedError
- ApmfInternalError

