using PipServices3.Commons.Config;
using PipServices3.Commons.Refer;
using PipServices3.Commons.Run;
using System.Threading.Tasks;
public class MyComponent: IConfigurable, IReferenceable, IUnreferenceable, IOpenable, IExecutable, INotifiable,
ICleanable
{
public MyComponent() { /* Initialize the component */ }
public void Configure(ConfigParams config) { /* configure the component */ }
public void SetReferences(IReferences references) { /* set component dependencies */ }
public void UnsetReferences() { /* unset component references */ }
public bool IsOpen() { /* return the component open state */ }
public Task OpenAsync(string correlationId) { /* open the component */ }
public Task CloseAsync(string correlationId) { /* close the component */ }
public Task<object> ExecuteAsync(string correlationId, Parameters args) { /* execute the component
transaction */ }
public Task NotifyAsync(string correlationId, Parameters args) { /* notify the component about events*/ }
public Task ClearAsync(string correlationId) { /* clear the component state */ }
}