21 #ifndef __JackThreadedDriver__    22 #define __JackThreadedDriver__    24 #include "JackDriver.h"    25 #include "JackPlatformPlug.h"    50         virtual int Open(jack_nframes_t buffer_size,
    51                          jack_nframes_t samplerate,
    57                          const char* capture_driver_name,
    58                          const char* playback_driver_name,
    59                          jack_nframes_t capture_latency,
    60                          jack_nframes_t playback_latency);
    63         virtual int Process();
    74         virtual bool IsFixedBufferSize();
    75         virtual int SetBufferSize(jack_nframes_t buffer_size);
    76         virtual int SetSampleRate(jack_nframes_t sample_rate);
    78         virtual void SetMaster(
bool onoff);
    79         virtual bool GetMaster();
    84         virtual std::list<JackDriverInterface*> GetSlaves();
    86         virtual int ProcessReadSlaves();
    87         virtual int ProcessWriteSlaves();
    89         virtual int ProcessRead();
    90         virtual int ProcessWrite();
    92         virtual int ProcessReadSync();
    93         virtual int ProcessWriteSync();
    95         virtual int ProcessReadAsync();
    96         virtual int ProcessWriteAsync();
    98         virtual int ClientNotify(
int refnum, 
const char* name, 
int notify, 
int sync, 
const char* message, 
int value1, 
int value2);
   100         virtual bool IsRealTime() 
const;
   101         virtual bool IsRunning() 
const;
   104         virtual bool Execute();
 The base interface for drivers. 
The base class for threaded drivers using a "decorator" pattern. Threaded drivers are used with block...
The base class for runnable objects, that have an  Init  and  Execute  method to be called in a threa...
The base interface for drivers clients. 
Darwin threads. Real-time threads are actually "time constraint" threads. 
Client control possibly in shared memory.