|
virtual void | CreateProvider (std::shared_ptr< IRuntimeContext > runtimeContext, std::shared_ptr< ExternalServiceProviderImplementation::IServiceProvider > serviceProvider, std::shared_ptr< ExternalServiceProviderImplementation::IConstructor > constructor, std::list< std::shared_ptr< ExternalServiceProviderImplementation::IExternalParameter >> constructorParameters)=0 |
| Invoked when a CreateProvider occurs in OTX-Runtime. More...
|
|
virtual void | DisposeProvider (std::shared_ptr< ExternalServiceProviderImplementation::IServiceProvider > serviceProvider)=0 |
| Invoked when a DisposeProvider occurs in OTX-Runtime. More...
|
|
virtual void | ExecuteService (std::shared_ptr< IRuntimeContext > runtimeContext, std::shared_ptr< ExternalServiceProviderImplementation::IServiceProvider > serviceProvider, std::shared_ptr< ExternalServiceProviderImplementation::IService > service, std::list< std::shared_ptr< ExternalServiceProviderImplementation::IExternalParameter >> serviceParameters, bool executeAsync)=0 |
| Invoked when an ExecuteService occurs in OTX-Runtime. More...
|
|
virtual std::shared_ptr< Object > | GetProperty (std::shared_ptr< IRuntimeContext > runtimeContext, std::shared_ptr< ExternalServiceProviderImplementation::IServiceProvider > serviceProvider, std::shared_ptr< ExternalServiceProviderImplementation::IProperty > property)=0 |
| Invoked when a GetProperty occurs in OTX-Runtime. More...
|
|
virtual void | GetServiceProviderEventValues (std::shared_ptr< IRuntimeContext > runtimeContext, std::shared_ptr< ExternalServiceProviderImplementation::IServiceProvider > serviceProvider, std::shared_ptr< ExternalServiceProviderImplementation::IEvent > event, std::list< std::shared_ptr< ExternalServiceProviderImplementation::IEventParameter >> eventValues)=0 |
| Invoked when a GetServiceProviderEventValues occurs in OTX-Runtime. More...
|
|
virtual bool | IsDisposed (std::shared_ptr< ExternalServiceProviderImplementation::IServiceProvider > serviceProvider)=0 |
| Invoked when an IsDisposed occurs in OTX-Runtime. More...
|
|
virtual bool | IsServiceRunning (std::shared_ptr< ExternalServiceProviderImplementation::IServiceProvider > serviceProvider, std::shared_ptr< ExternalServiceProviderImplementation::IService > service)=0 |
| Invoked when an IsServiceRunning occurs in OTX-Runtime. More...
|
|
virtual void | SetProperty (std::shared_ptr< IRuntimeContext > runtimeContext, std::shared_ptr< ExternalServiceProviderImplementation::IServiceProvider > serviceProvider, std::shared_ptr< ExternalServiceProviderImplementation::IProperty > property, std::shared_ptr< Object > propertyValue)=0 |
| Invoked when a SetProperty occurs in OTX-Runtime. More...
|
|
virtual bool | TerminateService (std::shared_ptr< ExternalServiceProviderImplementation::IServiceProvider > serviceProvider, std::shared_ptr< ExternalServiceProviderImplementation::IService > service)=0 |
| Invoked when a TerminateService occurs in OTX-Runtime. More...
|
|
virtual void | UpdateExternalParameterValues (std::string serviceId, std::vector< std::string > parameterNames, std::shared_ptr< Object > value)=0 |
| Invoked when one ore more InOut ExternalParameters was changed in OTX-Runtime to the same value. More...
|
|
Allows users to implement their own ExternalServiceProvider extension.
The OTX ExternalServiceProvider extension provides actions, terms, events and data types for accessing external services. These services can be a part of a system, a device, a database or a simple library. The purpose of the ExternalServiceProvider is to extend OTX to functionality that is encapsulated in these services to help fulfill the requirements of vehicle manufacturing and diagnosis. The existing OTX signature concept gives the author a very flexible construction kit to add existing functionality into OTX test sequences without any knowledge of the complex schema structure of OTX. To extend OTX for general purpose functionality a new OTX extension will be introduced. The criteria for new extensions are:
- As general as possible, as specific as necessary.
- Each new extension must be able to be potentially standardized.
Use cases for the ExternalServiceProvider extension :
- Add the seed / key functionality of a third party company that is encapsulated in a library must be added into an OTX test sequence.
- Add an existing proprietary test sequence of an existing test system into an OTX test sequence.In this use case new OTX test sequences can be easily added to an existing test sequence.A step by step migration of the test logic to OTX is possible as well as the possibility to add new functionality written in OTX into proprietary test sequences.So the introduction to use OTX test sequences is not complex.The author has the possibility to add small and simple pieces of OTX code into an already running code.With this knowledge the author is able to write larger and more complex OTX programs.
- Add any external functionality to an OTX test sequence. Keep in mind.The usage of the ExternalServiceProvider Extension guarantees the exchangeability of the OTX source code itself, but not the exchangeability of the functionality.If you want to add e.g. a proprietary library into OTX, with the help of the ExternalServiceProvider, the binding between the OTX-Runtime system and the library must be separately implemented and is not part of the standard.