27using namespace container::typed;
79 for (Iterator <Receiver> it =
receivers->iterator (); it.hasNext (); ) {
95 for (Iterator <Receiver> it =
receivers->iterator (); it.hasNext (); ) {
115 emitters =
new List <Emitter> (
false);
121 Emitter *emitter = it.getNext();
130 sb->
append (
"<receiver>");
151 object::TypedPointer <ObservedObject> *p =
159 object::TypedPointer <ObservedObject> p(obj);
161 emitVoid (0, 1, argv);
Typed version of container::untyped::Iterator.
A class for fast concatenation of a large number of strings.
void append(const char *str)
Append a NUL-terminated string to the buffer, with copying.
This is the base class for many other classes, which defines very common virtual methods.
A typed version of object::Pointer.
The base class for signal emitters.
void connect(Receiver *receiver)
Connect a receiver to the emitter.
void intoStringBuffer(misc::StringBuffer *sb)
Store a textual representation of the object in a misc::StringBuffer.
void unconnect(Receiver *receiver)
bool emitBool(int signalNo, int argc, Object **argv)
Emit a boolean signal.
void emitVoid(int signalNo, int argc, Object **argv)
Emit a void signal.
virtual bool emitToReceiver(Receiver *receiver, int signalNo, int argc, Object **argv)=0
A sub class must implement this for a call to a single receiver.
container::typed::List< Receiver > * receivers
bool emitToReceiver(signal::Receiver *receiver, int signalNo, int argc, Object **argv)
A sub class must implement this for a call to a single receiver.
void emitDeletion(ObservedObject *obj)
An observed object has a signal emitter, which tells the receivers, when the object is deleted.
virtual ~ObservedObject()
DeletionEmitter deletionEmitter
The base class for signal receiver base classes.
void unconnectFrom(Emitter *emitter)
void connectTo(Emitter *emitter)
container::typed::List< Emitter > * emitters
void intoStringBuffer(misc::StringBuffer *sb)
Store a textual representation of the object in a misc::StringBuffer.