ftp.nice.ch/pub/next/developer/objc/iconkit/IconKit.1.2.s.tar.gz#/IconKit-1.2/Classes/IKAnnouncer.h

This is IKAnnouncer.h in view mode; [Download] [Up]

/*

File IKAnnouncer.h

Release 1.2, 7 June 1994
Copyright (C) 1994 by H. Scott Roy

This code is part of IconKit, a general toolbox for drag-and-drop applications.  IconKit is free for noncommercial use, but costs money for a commercial license.  You should have received a copy of the license agreement with this file.  If not, a copy of the license and the complete source of IconKit can be obtained from the author:

		H. Scott Roy
		2573 Stowe Ct.
		Northbrook, IL  60062-8103
		iconkit@cs.stanford.edu

For your editing convenience, this file is best viewed using an editor that automatically wraps long lines, in a fixed point font at 80 columns, with tabs every 4 spaces.

*/


/* ========================================================================== */


/*

The IKAnnouncer class is the basic class that IconKit uses to conform to the IKDependency protocol.  It provides a simple announcement service to notify users and listeners of changes to an object.

There are two ways to incorporate an IKAnnouncer in a new class.  One can either inherit from it directly, or one can keep an IKAnnouncer as an instance variable.  The IconKit classes have adopted this second approach as it seems conceptually clearer.

*/

#import <objc/Object.h>

#import "IKDependency.h"


/* ========================================================================== */


@interface IKAnnouncer : Object <IKDependency>
{
	id
		owner,
		usersAndListeners;
	
	int
		numUsers;
	
	BOOL
		sendAnnouncements;
}


- initOwner: theOwner;
- free;
- usersAndListeners;
- (int) numUsers;
- (BOOL) sendAnnouncements;
- setSendAnnouncements: (BOOL) flag;

- announce: (SEL) theMessage;
- announce: (SEL) theMessage  with: theArgument;
- (BOOL) poll: (SEL) theMessage;
- (BOOL) poll: (SEL) theMessage  with: theArgument;


	// -- IKDependency methods

- addUser: who;
- addListener: who;
- removeUser: who;
- removeListener: who;

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.