class GIOManager

GIOManager performs MCOP I/O inside the Glib event loop. More...

Full nameArts::GIOManager
Definition#include <arts/giomanager.h>
InheritsArts::IOManager [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Members


Detailed Description

GIOManager performs MCOP I/O inside the Glib event loop. This way, you will be able to receive requests and notifications inside Glib application. The usual way to set it up is:


 GMainLoop *main_loop = g_main_new(FALSE);  // as usual

 Arts::GIOManager iomanager;
 Arts::Dispatcher dispatcher(&iomanager);

 g_main_run(main_loop);                     // as usual

std::list<GIOWatch *> fdList

fdList

[protected]

std::list<GIOTimeWatch *> timeList

timeList

[protected]

int level

level

[protected]

bool _blocking

_blocking

[protected]

bool fileDescriptorsNeedRecheck

fileDescriptorsNeedRecheck

[protected]

GMainContext * context

context

[protected]

GIOManagerSource * source

source

[protected]

GIOManagerBlocking * gioManagerBlocking

gioManagerBlocking

[protected]

 GIOManager (GMainContext *context = 0)

GIOManager

 ~GIOManager ()

~GIOManager

void  processOneEvent (bool blocking)

processOneEvent

Reimplemented from IOManager.

void  run ()

run

Reimplemented from IOManager.

void  terminate ()

terminate

Reimplemented from IOManager.

void  watchFD (int fd, int types, IONotify *notify)

watchFD

Reimplemented from IOManager.

void  remove (IONotify *notify, int types)

remove

Reimplemented from IOManager.

void  addTimer (int milliseconds, TimeNotify *notify)

addTimer

Reimplemented from IOManager.

void  removeTimer (TimeNotify *notify)

removeTimer

Reimplemented from IOManager.

void  setBlocking (bool blocking)

setBlocking

This controls what GIOManager will do while waiting for the result of an MCOP request, the possibilities are:

It is much easier to write working and reliable code with blocking enabled, so this is the default. If you disable blocking, you have to deal with the fact that timers, user interaction and similar "unpredictable" things will possibly influence your code in all places where you make a remote MCOP call (which is quite often in MCOP applications).

gboolean  prepare (gint *timeout)

prepare

- internal -

(implements the GSource prepare)

gboolean  check ()

check

- internal -

(implements the GSource check)

gboolean  dispatch (GSourceFunc callback, gpointer user_data)

dispatch

- internal -

(implements the GSource dispatch)


Generated by: stefan on stefan on Sat Jun 2 23:13:28 2001, using kdoc 2.0a53.