ftp.nice.ch/pub/next/connectivity/conferences/Conference.1.2.N.bs.tar.gz#/Conference/Controller.h

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

/* Generated by Interface Builder */

#import <objc/Object.h>
#import <objc/Storage.h>

#import <appkit/appkit.h>

#import "ConferenceSpeaker.h"
#import "ConferenceListener.h"

#define STRING_LENGTH 50
#define NETWORKENTRYPERIOD 1.0
#define ALARMENTRYPERIOD 0.1
#define MAXALARMS 5

// We assume port_t is int, or rather, or length int.
#define MEMBERSTORAGEDESCRIPTION "{[STRING_LENGTHc][STRING_LENGTHc]i}"
#define MACHINESTORAGEDESCRIPTION "[STRINGLENGTHc]"

#define APPNAME "SomeRandomStringLikeThis"

typedef struct {
    char user[STRING_LENGTH];
    char username[STRING_LENGTH];
    char machine[STRING_LENGTH];
    port_t port;
} MemberRecord;

@interface Controller:Object
{
    //  Objects on the interaction window.
    id	inputText;
    id	logText;
    
    //  Objects on the participants window.
    id  memberBrowser;

    //  Objects on the Preferences panel.
    id  loginSwitch;
    id  machineSwitch;
    id  realSwitch;
    id  machineBrowser;
    id  useConferenceSwitch;
    id  useNetworkSwitch;
    id  noisyAlertSwitch;
    id  visualAlertSwitch;
    id  activateOnAlertSwitch;
    id  soundFileTextField;
    
    //  Outlets connected in the nib, that aren't controlled from the nib.
    id  coverButton;
    id  addMachinePanel;
    id  addMachineField;
    
    //  Outlets used internally (not connected to the nib).
    id  alertSound;
    id  alertWindow;
    id  memberStore;
    id  speak;
    id  listen;
    
    //  Non-objects.
    char homedir[STRING_LENGTH];
    MemberRecord me;
    DPSTimedEntry netTimedEntry;
    DPSTimedEntry alarmTimedEntry;
    int numberAlarms;
}

// Functions used internally.
void killCr(char *c, int len);
int membercmp(MemberRecord *r1, MemberRecord *r2);
void copymember(MemberRecord *r1, MemberRecord *r2);

// Dummy functions used for timed entry.
DPSTimedEntryProc networkEntryHandler(DPSTimedEntry num,
					    double now, 
					    char *userData);
DPSTimedEntryProc alarmEntryHandler(DPSTimedEntry num,
					    double now, 
					    char *userData);

// Object initializer.
- init;

// Actions called by nib connection.
- addMachineQuit:sender;
- addMachineOk:sender;
- fetchSound:sender;
- quit:sender;
- changePref:sender;
- addMachine:sender;
- removeMachine:sender;
- connectMember:sender;
- disconnectMember:sender;
- connectMachine:sender;
- disconnectMachine:sender;
- selectAllMembers:sender;
- yeahRight:sender;

// Actions called from within Controller.
- doConferenceFile:sender;
- doNetwork:sender;
- setDefaults:sender;
- getDefaults:sender;

// I/O handlers for Text.
- input:sender;
- doOutput:(char *)msg withSender:(MemberRecord *)owner andBold:(BOOL)bold;

// Alarm response/Timed Entry methods.
- handleAlarm;
- doAlarmTimedEntry:sender;
- doNetworkTimedEntry:sender;

// Miscellaneous data-checking and retrieval methods.
- (BOOL)gotMemberWithMachine:(const char *)machine;
- (BOOL)gotMember:(MemberRecord *)mem;
- getBrowserString:(char *)str fromMember:(MemberRecord *)mem;

// ".Conference" file handling methods.
- addMachineToConferenceFile:(const char *)machine;
- removeMachineFromConferenceFile:(const char *)machine;

// application delegated methods
- appDidInit:sender;

// browser delegated methods
-(int)browser:sender fillMatrix:matrix inColumn:(int)column;

// text delegated methods
- textDidEnd:sender endChar:(unsigned short)whyEnd;

// speaker/listener delegated methods
- (int)helloIAm:(char *)fr length:(int)len;
- (int)goodByeIAmLeaving:(char *)fr length:(int)len;
- (int)sendMessage:(char *)msg from:(char *)fr length:(int)len;

@end

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