Base OS/2 classes

These classes provide thin veneers over the `base' bits of the operating system.

JLib provides a set of stream classes for dealing with files, named pipes, and IO in general. Here's a picture of the File side of things:

file side of the stream hierarchy

JStream, JRStream, and JWStream are defined in <JStream.hpp>, and provide writing & reading to streams.

File-specific behaviour is introduced in JFile, defined in <JBFile.hpp>, and the actual classes you can use are defined in <JFile.hpp>.

And on the named-pipe side:

named pipes side of the stream hierarchy

JNamedPipe, JPipeServer, and JPipeClient are defined in <JBNPipe.hpp>; this provides pipeyness. Usable classes are defined in <JNPipes.hpp>.

JThread and friends - <JThread.hpp>

Start new threads. There's gubbins here to start arbitrary (ish) methods as new threads, as well as the standard `derive a class & overload a method'. Thread-ending notification via asynchronous events.

JEventSem - <JEvsem.hpp>

OS/2 event semaphores, sort of condition variables. For thread synchronization.

JMutexSem - <JMutex.hpp>

OS/2 mutex semaphores. For thread synchronization again.

JSharedMem - <JShared.hpp>

Shared memory.

JFind - <JFind.hpp>

Provides an interface to the DosFind* functions for searching for files.

JModule - <JModule.hpp>

DLLs, usually used for resource dlls.

JMsgFile - <JMsgFile.hpp>

Load messages from a message file (made using mkmsgf) at runtime.

JThreadInfo - <JThreadI.hpp>

Get information about the current thread, eg. the thread id.

JPipe - <JPipe.hpp>

Provides an unnamed duplex pipe.


John Fairhurst 11th June 1998