►CIotDash.Domain.Mediator.AbstractMediator< TChannelKey, TMsg > | This class implements part the mediator design pattern. Takes responsibility for managing subscriptions of channels. The implementation of the actual message delegation is left to the child class of this. |
CIotDash.Domain.Mediator.SimpleMediator< TChannelKey, TMsg > | Manages subscribers and mediates messages between them. |
►CIotDash.Domain.Mediator.AbstractMediator< string, MqttApplicationMessage > | |
►CIotDash.Services.Mqtt.MqttMediator | Specialisation of the AbstractMediator<TChannelKey, TMsg> where the channel key is of type string and the message type is MqttApplicationMessage. |
CIotDash.Services.Mqtt.Implementation.MqttNet_Mediator | A component of the HostedMqttService. Specialisation of MqttMediator designed to work with the MQTTnet.Client.MqttClient. |
CTests.Adapters.TestMqttMediator | |
►CIotDash.Domain.Mediator.AbstractMediator< Type, object > | |
►CIotDash.Services.Messaging.MessageMediator | This class is a specialisation of the AbstractMediator<TChannelKey, TMsg> which mediates objects over channels differentiated by the objects' types. It provides nicer API than the parent class. |
CIotDash.Services.Messaging.Implementation.MessageSimpleMediatorService | Implements the application-level mediator service |
►CIotDash.Services.Domain.AEntityManagerService< IotInterface, HistoryWriter > | |
CIotDash.Services.History.HostedHistoryService | |
►CIotDash.Services.Domain.AEntityManagerService< IotInterface, InterfaceEvaluator > | |
CIotDash.Services.Evaluation.HostedEvaluationService | |
CIotDash.Middleware.ApiErrorReporting | |
CIotDash.Contracts.V1.ApiRoutes | Static collection of all http routes. |
►CApplicationException | |
CIotDash.Exceptions.BadRequestException | |
CIotDash.Exceptions.OperationForbiddenException | |
CIotDash.Exceptions.ResourceNotFoundException | |
CIotDash.Exceptions.UnauthorizedException | |
►CAttribute | |
CIotDash.Data.Model.DateTimeKindAttribute | |
►CAuthorizationHandler | |
CIotDash.Authorization.Requirements.JwtAuthorized.Handler | Handler for Requirements.JwtAuthorized requirement. |
CIotDash.Authorization.Requirements.RouteInterfaceExists.Handler | Handler for RouteInterfaceExists. |
CIotDash.Authorization.Requirements.UserOwnsInterface.Handler | Handler for UserOwnsInterface. |
CIotDash.Settings.MqttSettings.BrokerHostSettings | |
CIotDash.Utils.Collections.CollectionExtensions | Extensions for IEnumerable. |
CIotDash.Data.Constraints | |
CIotDash.Utils.Context.ContextExtensions | |
CIotDash.Contracts.V1.ContractedConstraints | |
►CController | |
CIotDash.Controllers.V1.IdentityController | The IotDash.Controllers.V1.IdentityController provides route endpoints for user account management. |
CIotDash.Controllers.V1.InterfaceController | |
CIotDash.Settings.MqttSettings.CredentialsSettings | |
CIotDash.Contracts.V1.DataModelToContractMapping | Extension class for converting IotDash.Data.Model objects to their REST API counterparts. |
CIotDash.Utils.Debugging.DebuggingExtension | |
CIotDash.Contracts.V1.Error | Static collection of REST API error messages. |
CIotDash.Utils.Error.ErrorExtensions | |
►CEventArgs | |
CIotDash.Domain.TopicUpdateEventArgs | |
►CException | |
CIotDash.Parsing.ExpressionsParser.ParsingFailedException | |
CIotDash.Parsing.FunctionNotDefinedException | |
CIotDash.Parsing.ExpressionsParser | Static implementation of the expression grammar parser |
CIotDash.Parsing.FunctionDefinition | |
CIotDash.Contracts.V1.Model.HistoryEntry | Represents a measurement event in time. |
CIotDash.Contracts.V1.Model.HistoryEntryUpdate | Represents an server-to-client event. This event is fired when a new HistoryEntry is created. |
CIotDash.Contracts.V1.HistoryRequest | REST model of a history query. Represents a time interval with point density information. |
►CHub | |
CIotDash.Controllers.V1.EventHub | |
►CIAuthorizationRequirement | |
CIotDash.Authorization.Requirements.JwtAuthorized | Authorization requirement that checks succeeds if JWT subject is a valid user. |
CIotDash.Authorization.Requirements.RouteInterfaceExists | IAuthorizationRequirement that succeeds if the Http route contains a valid interface. |
CIotDash.Authorization.Requirements.UserOwnsInterface | IAuthorizationRequirement that succeeds if user in HttpContext.Features owns the device in the same IFeatureCollection. |
CIotDash.Contracts.V1.ApiRoutes.Identity | |
►CIdentityDbContext | |
CIotDash.Data.DataContext | Represents a connection to database |
►CIDisposable | |
CIotDash.Domain.Mediator.ISubscription< TChannelKey, TMsg > | |
CIotDash.Domain.Mediator.SubscriptionGuard | Represents a collection of ISubscriptions. Disposing of the SubscriptionGuard disposes of all the registered ISubscriptions. |
CIotDash.Domain.TopicValueSubscription | |
►CIotDash.Services.Domain.IEntityManagementService< TEntity, TManager > | All implementations of this interface get installed by Installers.MiscServiceInstaller. |
CIotDash.Services.Domain.AEntityManagerService< TEntity, TManager > | An abstract database entity manager. It listens for changes of the database and keeps internal collection of TManager s. One per each TEntity in the database. |
►CIotDash.Services.Domain.IManagerColleciton< TEntity, TManager > | |
CIotDash.Services.Domain.EntityManagerCollection< TEntity, TManager > | |
CIotDash.Services.Evaluation.InterfaceEvaluator | |
CIotDash.Services.History.HistoryWriter | Writes changes of one IotInterface to the database |
►CIDocumentFilter | |
CIotDash.Utils.SwaggerGen.CustomModelDocumentFilter< T > | |
CIotDash.Utils.SwaggerGen.PolymorphismDocumentFilter< T > | |
►CIEntityManagementService | |
CIotDash.Services.Domain.IEntityManagementService< TEntity, TManager > | All implementations of this interface get installed by Installers.MiscServiceInstaller. |
►CIEnumerable | |
CIotDash.Services.Domain.IManagerColleciton< TEntity, TManager > | |
►CIEquatable | |
►CIotDash.Parsing.Expressions.IExpr | A contract for all expression tree nodes. |
CIotDash.Parsing.Expressions.BinaryOp | |
CIotDash.Parsing.Expressions.FunctionCall | |
CIotDash.Parsing.Expressions.Literal | |
CIotDash.Parsing.Expressions.TopicRef | |
CIotDash.Parsing.Expressions.UnaryOp | |
►CIHostedService | |
CIotDash.Services.Auth.HostedAuthPreparer | Makes sure that exactly one user account is available in the database with the correct credentials from AuthSettings. |
CIotDash.Services.Evaluation.HostedEvaluationService | |
CIotDash.Services.History.HostedHistoryService | |
CIotDash.Services.Mqtt.Implementation.HostedMqttService | |
►CIotDash.Services.IIdentityService | This service provides basic user account functionality. |
CIotDash.Services.Implementations.IdentityService | |
►CIotDash.Installers.IInstaller | Represents a contract for service installer. Assembly-wide scan for implementations of this interface is performed on Startup.ConfigureServices(IServiceCollection). The found implementations are instantiated and IInstaller.InstallServices(IServiceCollection, IConfiguration) is invoked on them. See Architecture in programmers manual. |
CIotDash.Installers.AuthenticationInstaller | Configures and registers the Microsoft.AspNetCore.Authentication.IAuthenticationService. |
CIotDash.Installers.AuthorizationInstaller | |
CIotDash.Installers.DataInstaller | |
CIotDash.Installers.MiscServiceInstaller | |
CIotDash.Installers.MqttInstaller | |
CIotDash.Installers.MvcInstaller | |
►CIotDash.Parsing.IInterfaceEvaluationContext | Represents a context of a single evaluation. The context stores values of various MQTT topics. Evaluation must be a fast, synchronous operation, so waiting for MQTT messages is no feasible. |
CIotDash.Parsing.InterfaceEvaluationContext | |
CIotDash.Services.Evaluation.InterfaceEvaluator | |
CTests.Adapters.TestEvaluationContext | |
►CILogger | |
CIotDash.Services.MyConsoleLoggerProvider.MyConsoleLogger | |
►CILoggerProvider | |
CIotDash.Services.MyConsoleLoggerProvider | |
►CIotDash.Domain.Mediator.IMessageTarget< SaveChangesEventArgs< TEntity > > | |
CIotDash.Services.Domain.IEntityManagementService< TEntity, TManager > | All implementations of this interface get installed by Installers.MiscServiceInstaller. |
►CIotDash.Services.IModelSaver | Represents a contract for a store object that saves changes to database. |
►CIotDash.Services.IHistoryStore | This service provides database operations on HistoryEntrys. |
CIotDash.Services.ModelStore.HistoryEntryStore | |
CIotDash.Services.IModelStore< TEntity, TKey > | Represents a contract for a store object which provides CRUD operations on TEntity indexed by TKey . |
►CIotDash.Services.IModelStore< IdentityUser, string > | |
►CIotDash.Services.IUserStore | This service provides CRUD operations on IdentityUser indexed by their ids. |
CIotDash.Services.ModelStore.UserManagerWrapper | |
►CIotDash.Services.IModelStore< IotInterface, Guid > | |
►CIotDash.Services.IInterfaceStore | This service provides CRUD operations on interfaces. |
CIotDash.Services.ModelStore.InterfaceEntityStore | |
►CIMqttApplicationMessageReceivedHandler | |
CIotDash.Services.Mqtt.Implementation.MqttNet_ConnectionHandler | |
►CIMqttClientConnectedHandler | |
CIotDash.Services.Mqtt.Implementation.MqttNet_ConnectionHandler | |
CIotDash.Services.Mqtt.Implementation.MqttNet_Publisher | A component of the HostedMqttService. Responsible for queueing ready-to-send messages and pushing them to the MQTT client. |
CIotDash.Services.Mqtt.Implementation.MqttNet_Subscriber | A component of the HostedMqttService. This class is responsible for maintaining list of subscribed topics synchronised with the MQTT broker, even in case of temporary disconnection. |
►CIMqttClientDisconnectedHandler | |
CIotDash.Services.Mqtt.Implementation.MqttNet_ConnectionHandler | |
CIotDash.Installers.InstallerExtensions | |
CIotDash.Contracts.V1.ApiRoutes.Interface | |
CIotDash.Tests.InterfaceEvaluatorTest | |
CIotDash.Contracts.V1.Model.Extensions.InterfaceKindExtensions | |
►CIotDash.Contracts.V1.InterfacePatchRequest | |
CIotDash.Contracts.V1.InterfaceCreateRequest | |
CIotDash.Contracts.V1.Model.IotInterface | Represents an Iot device. |
►CIotDash.Parsing.IRecursiveVisitor< TValue > | |
CIotDash.Parsing.EvaluatingVisitor | |
►CIServiceProvider | |
CIotDash.Tests.Adapters.TestCaseScope | |
►CIServiceScope | |
CIotDash.Services.Evaluation.HostedEvaluationService | |
CIotDash.Services.History.HostedHistoryService | |
CIotDash.Services.Mqtt.Implementation.HostedMqttService | |
CIotDash.Tests.Adapters.TestCaseScope | |
►CIotDash.Contracts.V1.IStatusResponse | |
CIotDash.Contracts.V1.StatusResponse< TValue, TInherited > | |
CIotDash.Domain.ISubscribedTopic | |
►CIotDash.Domain.ISubscriber | |
CIotDash.Domain.TopicValueSubscription | |
►CISubscription | |
CIotDash.Domain.Mediator.ISubscription< TChannelKey, TMsg > | |
CIotDash.Domain.Mediator.ITarget< TChannelKey, in TMsg > | |
►CIotDash.Domain.Mediator.ITarget< string, MqttApplicationMessage > | |
►CIotDash.Services.Mqtt.IMqttSubscriber | |
CIotDash.Services.Evaluation.InterfaceEvaluator | |
CIotDash.Services.History.HistoryWriter | Writes changes of one IotInterface to the database |
►CIotDash.Domain.Mediator.ITarget< TChannelKey, TMsgIn > | |
CIotDash.Domain.Mediator.TargetCastAdapter< TChannelKey, TMsgIn, TMsgOut > | A shim inserted before a subscription target, that casts all messages from TMsgIn to TMsgOut. |
CIotDash.Domain.Mediator.ITarget< TChannelKey, TMsgOut > | |
►CIotDash.Domain.Mediator.ITarget< Type, TMsg > | |
CIotDash.Domain.Mediator.IMessageTarget< in TMsg > | Specialized ITarget<TChannelKey, TMsg>, where the channel key is the Type of the message. |
►CIotDash.Parsing.IVisitor | |
CIotDash.Parsing.IRecursiveVisitor< TResult > | |
CIotDash.Parsing.PreorderVisitor | |
►CJsonConverter | |
CIotDash.JsonConverters.DateTimeConverter | |
CIotDash.Contracts.JwtCustomClaimNames | Static string constants naming custom JWT claims. |
►CMigration | |
CIotDash.Migrations.ChangeToUtc | |
CIotDash.Migrations.Init | |
CIotDash.Contracts.MimeType | |
►CIotDash.Data.Model.ModelObject | |
CIotDash.Data.Model.HistoryEntry | |
CIotDash.Data.Model.IotInterface | |
CIotDash.Data.Model.RefreshToken | |
►CModelSnapshot | |
CIotDash.Migrations.DataContextModelSnapshot | |
CIotDash.Utils.Nullables.NullableExtensions | |
CIotDash.Utils.ObjectMapping.ObjectMappingExtensions | |
CIotDash.Tests.ParserEvalTest | |
CIotDash.Authorization.Policies | Contains static generator methods for different policies |
CIotDash.Program | |
CIotDash.Contracts.V1.RefreshTokenRequest | |
CIotDash.Domain.Events.SaveChangesEventArgs< TEntity > | |
CIotDash.Domain.Events.SaveChangesEventArgsExtension | |
CIotDash.Settings.Settings< TInherited > | Base class for keys of appsetings.json . In this project, settings objects (in namespace IotDash.Settings) are automatically created and populated during application startup. |
►CIotDash.Settings.Settings< AuthSettings > | |
CIotDash.Settings.AuthSettings | Settings for REST authentification. The username and password which are used to authentcate over HTTP API. |
►CIotDash.Settings.Settings< HistorySettings > | |
CIotDash.Settings.HistorySettings | |
►CIotDash.Settings.Settings< JwtSettings > | |
CIotDash.Settings.JwtSettings | |
►CIotDash.Settings.Settings< MqttSettings > | |
CIotDash.Settings.MqttSettings | |
►CIotDash.Settings.Settings< SwaggerSettings > | |
CIotDash.Settings.SwaggerSettings | |
CIotDash.Utils.SignalRExtensions | |
CIotDash.Domain.Mediator.SimpleMediator< string, MqttApplicationMessage > | |
CIotDash.Domain.Mediator.SimpleMediator< Type, object > | |
CIotDash.Startup | This class is responsible for configuring all service and installing them into the container. It also configures the HTTP request pipeline. |
►CIotDash.Contracts.V1.StatusResponse< IEnumerable< HistoryEntry >, HistoryResponse > | |
CIotDash.Contracts.V1.HistoryResponse | |
►CIotDash.Contracts.V1.StatusResponse< IotInterface, InterfaceResponse > | |
CIotDash.Contracts.V1.InterfaceResponse | |
►CIotDash.Contracts.V1.StatusResponse<(string Token, string RefreshToken), AuthResponse > | |
CIotDash.Contracts.V1.AuthResponse | Represents result of an authentication |
CIotDash.Utils.Threading.TaskUnwrapper | Useful for Fire-and-forget tasks. Collects them in a queue and unwraps the exceptions. |
CIotDash.Utils.Threading.ThreadingExtensions | Extensions for SemaphoreSlim synchronisation primitive allowing nice syntax with the using (...) pattern. |
CIotDash.Contracts.V1.Model.User | Represents a user. |
CIotDash.Contracts.V1.UserLoginRequest | |
CIotDash.Contracts.V1.UserRegistrationRequest | |
►CValidationAttribute | |
CIotDash.Contracts.V1.ValidAliasAttribute | |
CIotDash.Contracts.V1.ValidExpressionAttribute | |