subject.h 569 Bytes
#ifndef __SUBJECT_H__
#define __SUBJECT_H__

typedef void (* fptr_subjectAttach)(void *, void *);
typedef void (* fptr_subjectDetach)(void *, void *);
typedef void (* fptr_subjectNotify)(void *);

extern const struct interface i_Subject;

struct i_Subject {
	const struct interface * const _;
	fptr_subjectAttach       attach;
	fptr_subjectDetach       detach;
	fptr_subjectNotify       notify;
};

extern void subjectAttach(void *, void *);
extern void subjectDetach(void *, void *);
extern void subjectNotify(void *);

#endif // __SUBJECT_H__

// vim: set ts=4 sw=4: