Helper Class Reference  1.1
HomeGenie - Automation Programs' Engine SDK
Public Member Functions | List of all members
EventsHelper Class Reference

Events Helper class.
Class instance accessor: When More...

Public Member Functions

EventsHelper SystemStarted (Func< bool > handler)
 Call the specified <handler> after HomeGenie service started. More...
 
EventsHelper SystemStopping (Func< bool > handler)
 Call the specified <handler> when HomeGenie service is stopping. More...
 
EventsHelper ProgramStopping (Func< bool > handler)
 Call the specified <handler> when the program is beign stopped. More...
 
EventsHelper ModuleParameterChanged (Func< ModuleHelper, ModuleParameter, bool > handler)
 Call the specified <handler> function when a parameter of a module changed. If either the <handler> returns false or changes the event value, the propagation will stop. More...
 
EventsHelper ModuleParameterIsChanging (Func< ModuleHelper, ModuleParameter, bool > handler)
 Call the specified <handler> function when a parameter of a module is changing. If either the <handler> returns false or changes the event value, the propagation will stop. More...
 
EventsHelper WebServiceCallReceived (string apiCall, Func< object, object > handler)
 Define a <handler> function to call when a web service call starting with <apiCall> is received. This is used to create and handle user-defined web service API methods. More...
 

Detailed Description

Events Helper class.
Class instance accessor: When

Member Function Documentation

EventsHelper SystemStarted ( Func< bool >  handler)

Call the specified <handler> after HomeGenie service started.

Returns
EventsHelper
Parameters
handlerThe handler function to call.

Example:

When.SystemStarted( () =>
{
Program.Say("HomeGenie is now ready!");
// returning false will prevent this event from being routed to other listeners
return false;
});
EventsHelper SystemStopping ( Func< bool >  handler)

Call the specified <handler> when HomeGenie service is stopping.

Returns
EventsHelper
Parameters
handlerThe handler function to call.

Example:

When.SystemStopping( () =>
{
Program.Say("See ya soon!");
// returning true will route this event to other listeners
return true;
});
EventsHelper ProgramStopping ( Func< bool >  handler)

Call the specified <handler> when the program is beign stopped.

Returns
EventsHelper
Parameters
handlerThe handler function to call.

Example:

When.Stopping( () =>
{
Program.Say("Oh-oh! I'm quitting!");
// returning true will route this event to other listeners
return true;
});
EventsHelper ModuleParameterChanged ( Func< ModuleHelper, ModuleParameter, bool >  handler)

Call the specified <handler> function when a parameter of a module changed. If either the <handler> returns false or changes the event value, the propagation will stop.

Returns
EventsHelper
Parameters
handlerThe handler function to call.

Example:

When.ModuleParameterChange( (module, parameter) =>
{
if (module.Is("Kitchen Motion Sensor") && parameter.Is("Status.Level"))
{
// ...
return false;
}
return true;
});
See also
ModuleParameterIsChanging
EventsHelper ModuleParameterIsChanging ( Func< ModuleHelper, ModuleParameter, bool >  handler)

Call the specified <handler> function when a parameter of a module is changing. If either the <handler> returns false or changes the event value, the propagation will stop.

Returns
EventsHelper
Parameters
handlerThe handler function to call.

Example:

When.ModuleParameterIsChanging( (module, parameter) =>
{
if (module.Is("Kitchen Motion Sensor") && parameter.Is("Status.Level"))
{
// ...
// stop event propagation
return false;
}
// continue event propagation
return true;
});
See also
ModuleParameterChanged
EventsHelper WebServiceCallReceived ( string  apiCall,
Func< object, object >  handler 
)

Define a <handler> function to call when a web service call starting with <apiCall> is received. This is used to create and handle user-defined web service API methods.

Returns
EventsHelper
Parameters
apiCallAPI call.
handlerHandler.

Example:

When.WebServiceCallReceived( "Hello.World", (args) =>
{
var returnstring = "";
if (args == "Greet")
{
returnstring = "Hello HomeGenie World!";
}
return returnstring;
});

In the snippet above, if we wanted to create an "Hello World" program that respond to the custom API call:
http://<hg_server_address>/api/Hello.World/Greet


The documentation for this class was generated from the following file: