Tesla Graphics Engine Documentation (January 2012)
EngineServiceProviders Class
TeslaTesla.CoreEngineServiceProviders
EngineServiceProviders is a collection of services used by the engine internally. This is to provide loose coupling and reduce reliance on singletons. The engine uses service providers in order to create concrete implementations for many objects at run time, such as hardware buffers and textures.
Declaration Syntax
C#
public sealed class EngineServiceProviders : IServiceProvider
Members
All Members Constructors Methods Events



Icon Member Description
EngineServiceProviders()()()()
Creates a new instance of an EngineServiceProvider.

AddService(Type, Object)
Adds a new service to the provider collection.

DisposeAndRemoveAll()()()()
Disposes all providers that implement IDisposable and remove the services.

Equals(Object)
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
GetHashCode()()()()
Serves as a hash function for a particular type.
(Inherited from Object.)
GetService(Type)
Gets a service from the provider collection.

GetService<(Of <<'(T>)>>)()()()()
Gets a service from the provider collection. Equivalent to GetService(typeof(T))

GetType()()()()
Gets the Type of the current instance.
(Inherited from Object.)
RemoveAll()()()()
Removes all services from the provider collection.

RemoveService(Type)
Removes a service from the provider collection.

ServiceAdded
Event for when a new service type has been added. The new service will be passed as the sender.

ServiceChanged
Event for when an existing service type is replaced by a new service provider of the same type. The new service will be passed as the sender.

ServiceRemoved
Event for when a service type is removed. The service removed will be passsed as the sender, or null signifying all services have been removed.

ToString()()()()
Returns a String that represents the current Object.
(Inherited from Object.)
Inheritance Hierarchy
Object
EngineServiceProviders

Assembly: Tesla (Module: Tesla) Version: 0.5.0.0 (0.5.0.0)