46 lines
1.2 KiB
C#
46 lines
1.2 KiB
C#
/*
|
|
* Efl Core Poll examples.
|
|
*
|
|
* This example sets up poll callbacks for LOW, MEDIUM and HIGH frequency events.
|
|
* We run for 30 seconds and print to stdout to show when each is called.
|
|
* Depending on your system this may not include any LOW frequency polls.
|
|
*/
|
|
|
|
using System;
|
|
|
|
public class Example : Efl.Csharp.Application
|
|
{
|
|
protected override void OnInitialize(string[] args)
|
|
{
|
|
// Retrieve the application's main loop
|
|
var mainloop = Efl.App.AppMain;
|
|
|
|
// Register to all Poll events
|
|
mainloop.PollLowEvt += (object sender, EventArgs e) => {
|
|
Console.Write("L");
|
|
};
|
|
mainloop.PollMediumEvt += (object sender, EventArgs e) => {
|
|
Console.Write("M");
|
|
};
|
|
mainloop.PollHighEvt += (object sender, EventArgs e) => {
|
|
Console.Write(".");
|
|
};
|
|
|
|
// Use a timer to exit the application
|
|
var timer = new Efl.LoopTimer(mainloop, 30);
|
|
timer.TimerTickEvt += (object sender, EventArgs e) => {
|
|
Console.WriteLine("\nTIMER: timer callback called, exiting.");
|
|
mainloop.Quit(0);
|
|
};
|
|
}
|
|
|
|
#if WIN32
|
|
[STAThreadAttribute()]
|
|
#endif
|
|
public static void Main()
|
|
{
|
|
var example = new Example();
|
|
example.Launch();
|
|
}
|
|
}
|