WebRadioApp  0.1
_CoreSystemEvent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 *
3 * E M B E D D E D W I Z A R D P R O J E C T
4 *
5 * Copyright (c) TARA Systems GmbH
6 * written by Paul Banach and Manfred Schweyer
7 *
8 ********************************************************************************
9 *
10 * This file was generated automatically by Embedded Wizard Studio.
11 *
12 * Please do not make any modifications of this file! The modifications are lost
13 * when the file is generated again by Embedded Wizard Studio!
14 *
15 * The template of this heading text can be found in the file 'head.ewt' in the
16 * directory 'Platforms' of your Embedded Wizard installation directory. If you
17 * wish to adapt this text, please copy the template file 'head.ewt' into your
18 * project directory and edit the copy only. Please avoid any modifications of
19 * the original template file!
20 *
21 * Version : 10.00
22 * Profile : STM32H747
23 * Platform : STM.STM32.RGB565
24 *
25 *******************************************************************************/
26 
27 #ifndef _CoreSystemEvent_H
28 #define _CoreSystemEvent_H
29 
30 #ifdef __cplusplus
31  extern "C"
32  {
33 #endif
34 
35 #include "ewrte.h"
36 #if EW_RTE_VERSION != 0x000A0000
37  #error Wrong version of Embedded Wizard Runtime Environment.
38 #endif
39 
40 #include "ewgfx.h"
41 #if EW_GFX_VERSION != 0x000A0000
42  #error Wrong version of Embedded Wizard Graphics Engine.
43 #endif
44 
45 /* Forward declaration of the class Core::SystemEvent */
46 #ifndef _CoreSystemEvent_
47  EW_DECLARE_CLASS( CoreSystemEvent )
48 #define _CoreSystemEvent_
49 #endif
50 
51 /* Forward declaration of the class Core::TaskQueue */
52 #ifndef _CoreTaskQueue_
53  EW_DECLARE_CLASS( CoreTaskQueue )
54 #define _CoreTaskQueue_
55 #endif
56 
57 
58 /* The class Core::SystemEvent provides a convenient component intended to represent
59  a source of an individual system event. Such events are usually generated by
60  the real device the GUI application is designed for. Here for example, the device
61  can report the current status of an engine every time this engine starts or stops.
62  Sophisticated mechanisms behind Core::SystemEvent take care of the delivery of
63  all events to associated handler components (see Core::SystemEventHandler). The
64  delivery succeeds asynchronously however always accordingly to the order in which
65  the events were triggered.
66  To trigger an event simply call the method @Trigger(). Each time you trigger
67  an event, you can optionally provide a context object to be dispatched together
68  with the event. In this manner flexible application cases are possible.
69  Usually you create and maintain system event instances globally, e.g. within
70  a device autoobject. Once a system event instance is available, you can connect
71  one or more system event handlers with it. */
72 EW_DEFINE_FIELDS( CoreSystemEvent, XObject )
73  EW_VARIABLE( context, XObject )
74  EW_VARIABLE( queue, CoreTaskQueue )
75 EW_END_OF_FIELDS( CoreSystemEvent )
76 
77 /* Virtual Method Table (VMT) for the class : 'Core::SystemEvent' */
78 EW_DEFINE_METHODS( CoreSystemEvent, XObject )
79 EW_END_OF_METHODS( CoreSystemEvent )
80 
81 /* The method Trigger() enqueues this event for delivery. The delivery occurs asynchronously
82  in the order in which the events are triggered. If the parameter aWithPriority
83  is false, the new event will be arranged at the end of a common system event
84  queue. If the parameter is true, the event is enqueued in front of all waiting
85  events causing it to be delivered early.
86  When the event is delivered all associated Core::SystemEventHandler components
87  are notified to handle the event. Here the system event handler can access and
88  evaluate the optional context data passed in the parameter aContext. */
89 void CoreSystemEvent_Trigger( CoreSystemEvent _this, XObject aContext, XBool aWithPriority );
90 
91 #ifdef __cplusplus
92  }
93 #endif
94 
95 #endif /* _CoreSystemEvent_H */
96 
97 /* Embedded Wizard */
ewrte.h
EW_END_OF_FIELDS
#define EW_END_OF_FIELDS(aClass)
Definition: ewrte.h:460
EW_DECLARE_CLASS
#define EW_DECLARE_CLASS(aClass)
Definition: ewrte.h:393
EW_VARIABLE
#define EW_VARIABLE(aName, aType)
Definition: ewrte.h:464
ewgfx.h
_obj_XObject
Definition: ewrte.h:281
XBool
char XBool
Definition: ewrte.h:1592
EW_DEFINE_METHODS
#define EW_DEFINE_METHODS(aClass, aSuperClass)
Definition: ewrte.h:524
CoreSystemEvent_Trigger
void CoreSystemEvent_Trigger(CoreSystemEvent _this, XObject aContext, XBool aWithPriority)
Definition: Core.c:7683
EW_END_OF_METHODS
#define EW_END_OF_METHODS(aClass)
Definition: ewrte.h:539
EW_DEFINE_FIELDS
#define EW_DEFINE_FIELDS(aClass, aSuperClass)
Definition: ewrte.h:451