Going on with structure

Added observer/observable for RTC

git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@251 05563f52-14a8-4384-a975-3d1654cca0fa
This commit is contained in:
mmi
2017-10-12 20:53:05 +00:00
parent 54b6afe5a3
commit c323bfd04e
23 changed files with 1067 additions and 513 deletions

View File

@@ -26,7 +26,6 @@
#include "stm32f10x.h"
#include "Class.h"
#include "Observer.h"
/* -------------------------------*
@@ -37,17 +36,14 @@
/**
* Maximal number of Observers for one Observable.
*/
#define OBSERVABLE_MAX_OBSERVERS (32)
#define OBSERVABLE_MAX_OBSERVERS (10)
/**
* Static initializer for the Observable class.
* Typical usage: struct Observable observable = OBSERVABLE_INITIALIZER;
*/
#ifdef CLASS_INTERNAL_INCLUDE
#define OBSERVABLE_INITIALIZER { .nrOfObservers = 0, .observers = { 0, } }
#else
#define OBSERVABLE_INITIALIZER { .DONOTUSEnrOfObservers = 0, .DONOTUSEobservers = { 0, } }
#endif
#define OBSERVABLE_INITIALIZER { .nrOfObservers = 0, .observers = { 0, } }
/* ------------------*
* Type definitions. *
@@ -59,8 +55,8 @@
*/
struct Observable
{
int PRIVATE(nrOfObservers);
Observer PRIVATE(observers)[OBSERVABLE_MAX_OBSERVERS];
int nrOfObservers;
Observer observers[OBSERVABLE_MAX_OBSERVERS];
};
/* ----------------------*
@@ -74,14 +70,14 @@ struct Observable
* @param self: address of the Observable struct.
* @retval none.
*/
void Observable_initialize(struct Observable* self);
void Observable_construct(struct Observable* self);
/**
* Terminates the Observable class. All Observers are removed.
* @param self: address of the Observable struct.
* @retval none.
*/
void Observable_terminate(struct Observable* self);
void Observable_destruct(struct Observable* self);
/**
* Adds one Observer to the Observable.