Glimpse.Core.Extensibility Namespace

Glimpse API

Glimpse.Core.Extensibility Namespace Glimpse API Documentation
Most interfaces and abstract types for extending Glimpse are defined within this namespace.
Classes

  Class Description
Public class AlternateMethod
An abstract IAlternateMethod implementation which handles checking Glimpse policies and timing original implementations.
Public class AlternateType T 
An abstract IAlternateType T  implementation that handles the most common TryCreate scenarios.
Public class AlternateTypeGenerationHook T 
An implementation of Castle DynamicProxy's IProxyGenerationHook for Glimpse.
Public class AlternateTypeSelector
An implementation of Castle DynamicProxy's IInterceptorSelector for Glimpse.
Public class AlternateTypeToCastleInterceptorAdapter
An adapter between Glimpse's IAlternateType T  and Castle DynamicProxy's IInterceptor.
Public class AntiXssEncoder
The default IHtmlEncoder implementation of Glimpse, which leverages Microsoft's Web Protection Library.
Public class CastleInvocationToAlternateMethodContextAdapter
An adapter between Castle DynamicProxy's IInvocation and Glimpse's IAlternateMethodContext.
Public class DictionaryDataStoreAdapter
An adapter between an OnlineIDictionary and IDataStore.
Public class ExecutionTimer
An implementation of IExecutionTimer.
Public class InspectorContext
The context passed into the Setup method of IInspector.
Public class JsonNetConverterDictionaryKeysAreNotPropertyNames
A JsonConverter that overrides the way Json.Net handles dictionaries.
Public class JsonNetSerializationConverterAdapter
An adapter which converts Glimpse's ISerializationConverter to Json.Net JsonConverter.
Public class JsonNetSerializer
An implementation of ISerializer which leverages Json.Net.
Public class LoggerBase
An abstract base class which provides ILogger implementations with message formatting abilities.
Public class MessageBroker
The default implementation of IMessageBroker which supports subscribing to messages based on types, base types and interfaces.
Public class NLogLogger
An implementation of ILogger based on NLog.
Public class NuGetPackageAttribute
An attribute used to identify the corresponding NuGet package and Id for an assembly.
Public class NullLogger
An ILogger implementation of the Null Object pattern for use when Glimpse if configured to not use logging.
Public class ResourceContext
The implementation of IResourceContext, used in the Execute method of IResource.
Public class ResourceParameter
A collection of commonly used ResourceParameterMetadata objects.
Public class ResourceParameterMetadata
ResourceParameterMetadata describes the parameters for an IResource.
Public class ResourceResultContext
The implementation of IResourceResultContext used in the Execute method of IResourceResult.
Public class ResourceResultDecorator
An IResourceResult abstraction for adding additional functionality to IResourceResult via the common Onlinedecorator pattern.
Public class RuntimePolicyContext
The implementation of IRuntimePolicyContext used in the Execute method of IRuntimePolicy.
Public class SerializationConverter T 
The ISerializationConverter abstraction which makes creating converters that deal with one type easier.
Public class TabBase
Base implementation that allows simplified the implementation of a tab. NOTE, this implementation is intended for by tabs that can execute on any provider (i.e. aren't bound to HttpContextBase in the case of the ASP.NET provider). Most tabs wont be tied to a specific provider.
Public class TabBase T 
Base implementation that allows simplified the implementation of a tab. NOTE, this implementation is intended for by tabs that can only be executed by a specific provider (i.e. ones bound to HttpContextBase in the case of the ASP.NET provider).
Public class TabContext
The ITabContext implementation used by the GetData method of ITab.
Public class TabSetupContext
The implementation of ITabSetupContext used by the Setup method of ITabSetup.
Public class TimerResult
The result of a Time method call on a IExecutionTimer.
Public class TimerResult T 
A subtype of TimerResult which includes the result of non-void method calls.
Interfaces

  Interface Description
Public interface IAlternateMethod
Definition for an alternate method which allows classes to be proxied.
Public interface IAlternateMethodContext
Definition for the context used by IAlternateMethod
Public interface IAlternateType T 
Definition for an alternate that should replace a given Type
Public interface IClientScript
IClientScript injects <script> tags into page responses.
Public interface IConfigurable
IConfigurable allows types to participate in their own configuration.
Public interface IContext
Definition for the base context that is used by various concepts in the system. Typically uses in place of passing multiple arguments to a method.
Public interface IDataStore
Definition for a data store that can be implemented as a storage strategy. This could be used to store request data in memory, to disk or any other source.
Public interface IDocumentation
Allows a ITab to define what URI it should use if the Tab has supporting documentation.
Public interface IDynamicClientScript
IDynamicClientScript's are a special type of IClientScript that sets the <script> tag's src attribute to the dynamically generated Uri for the IResource of a given name.
Public interface IExecutionTimer
Definition for an execution timer which will track how long given executions take.
Public interface IHtmlEncoder
Definition for a html encoder.
Public interface IInspector
Definition of an inspector that runs during startup. This provides the means by which a Tab can setup any listeners, proxies, etc that are needed to gather the data needed the corresponding ITab.
Public interface IInspectorContext
Definition of a context that is used by the IInspector.
Public interface IKey
IKey provides implementers a means to override the automatically generated key for an object.
Public interface ILogger
Definition of the internal logger that will used by the system.
Public interface IMessageBroker
Definition of the Message Broker that will used by the system.
Public interface IParameterValueProvider
IParameterValueProvider provides a mechanism to override or append Uri template parameter values when generating an IDynamicClientScript's corresponding IResource Uri.
Public interface IProxyFactory

Definition of a factory that can create proxies of given objects/types. Factory supports wrapping a interfaces, wrapping a class or extending a class.

Wrapping takes a target instance, generates a new type that extends the input types and injects the target object within the new instance. Extends takes a type and generates a new type that extends it.

Public interface IResource

IResource provides Glimpse clients with data and assets for rendering to the end user.

When implemented, a resource will be discovered and added to the collection of resources.

Public interface IResourceContext
IResourceContext provides implementations of IResource access to their parameters and the IReadOnlyPersistenceStore.
Public interface IResourceResult
IResourceResult provides Glimpse a Onlinecommand object for returning the results of an IResource.
Public interface IResourceResultContext
IResourceResultContext provides implementations of IResourceResult access to the IFrameworkProvider, ISerializer and IHtmlEncoder.
Public interface IRuntimePolicy

IRuntimePolicy controls the operations Glimpse is allowed to do an Http request.

When implemented, a policy will be discovered and added to the collection of policies. Together, all policies determine what Glimpse is allowed to do during an Http request.

Public interface IRuntimePolicyContext
Definition for the context that is used when a runtime policy is being executed.
Public interface ISerializationConverter

Definition for a converter that will provide a custom object representation to serialize for the supported types.

When implemented, a serialization converter will be discovered and added to the collection of serialization converters.

Public interface ISerializer
Definition for a provider that can serialize complex objects to JSON.
Public interface IStaticClientScript
IStaticClientScript's are a special type of IClientScript that sets the <script> tag's src attribute to a given uri.
Public interface ITab

Definition for an object which will be represented in the UI as a Tab. To operate you simply need to implement this interface and return an object graph that you would like to view.

When returning data, you can either return the object which represents the Glimpse protocol or return a typed view model. It is recommended that you use typed view models, as it is this object that will be stored in by the Data Store. If this is done, it means that these typed objects can be queried at a latter stage. That said, if you are after simplicity, you can return objects in the shape the Glimpse Protocol requires.

If you do decide to work with a typed view model you can convert this into an objects in the shape the Glimpse Protocol by implementing ISerializationConverter targeting the type of the view model.

Alternatively, if you after simplicity and return an object which represents the Glimpse protocol, you can use TabObject and TabSection as helpers.

Additional functionality can be injected into via additionally implementing the following interfaces: - : Key that will be used to identify the tab within the client. - : URI that will describe where the documentation for the tab can be found. - : Control how the layout of the content should look. - : Allows tab to inject any hooks it needs within the system. - : Allow complex objects to be converted into the Glimpse protocol.

Public interface ITabContext
Definition for the context which tabs use when generating the content will be returned.
Public interface ITabLayout
Definition for how the layout of a given object can be controlled. When implementing a layout, TabLayout can be used to make creating the required objects easier.
Public interface ITabSetup
Definition which allows a tab to inject any hooks it needs within the system.
Public interface ITabSetupContext
Definition for the context which is used during tab setup.
Public interface IWrapper T 
IWrapper<T> provides a common way to leverage the Onlinedecorator pattern.
Enumerations

  Enumeration Description
Public enumeration RuntimeEvent
Used to describe when a given IRuntimePolicy should be executed.
Public enumeration RuntimePolicy
Used to describe what operations Glimpse is allowed to perform during a Http request/response.
Public enumeration ScriptOrder
The ScriptOrder enumeration specifies the sorting order placement of <script> tags generated by IClientScript's within a page response.