Qtopia Home - Classes - Hierachy - Annotated - Functions - Qt Embedded |

# Qtopia QCop Messages

- Introduction
- The System-wide Channels and Messages.
  - QPE/System
  - QPE/TaskBar
  - QPE/Card
  - QPE/Network
  - Qt/Tray
- The Application Channel

## Introduction

QCop messages allow applications to communicate with each other. These messages are sent using QCopEnvelope, and received by connecting to a QCopChannel.

The `channelname` of channels within Qtopia all start with "QPE/". The `messagename` is a function identifier followed by a list of types in parentheses. There is no whitespace in the message name.

The variable names shown in this documentation are purely for information purposes. A message shown as messageName(Type1 varname1, Type2 varname2, Type2 varname3) would be used in program code as:

       QCopEnvelope e(channelname, "messageName(Type1,Type2,Type2)");
       e << parameter1 << parameter2 << parameter3;

Hint: The QCop message system uses the event-processing loop. So if you create a QCop message it will not be send until the next qApp::processEvents.

## The System-wide Channels and Messages.

### QPE/System

- busy() -- Causes a wait indicator to be shown to the user.
- notBusy() -- Cancels the wait indicator.
- linkChanged(QString) -- Sent whenever a link is changed. It is sent by FileManager::saveFile() and others, and received by the Launcher.
- applyStyle() -- Sent when user changes style. It is received by QPEApplication and the application will redraw accordingly.
- quit() -- Shuts down all running applications.
- shutdown() -- Shows the shutdown window.
- restart() -- Restarts the Qtopia environment.
- execute(QString) -- Executes or raises the given application.
- execute(QString,QString) -- Executes or raises the given application, passing an argument. Note that you should consider using the QPE/Application/appname channels described below.
- setMouseProto(QString) -- Changes $QWS_MOUSE_PROTO dynamically.
- setKeyboard(QString) -- Changes $QWS_KEYBOARD dynamically.
- addAlarm(QDateTime,QCString,QCString,int) -- Internal. See AlarmServer::addAlarm()
- deleteAlarm(QDateTime,QCString,QCString,int) -- Internal. See AlarmServer::deleteAlarm()
- setDefaultRotation(int) -- Internal.
- grabKeyboard(QString) -- Internal.
- timeChange(QString) -- Internal.
- clockChange(bool) -- Internal.
- setScreenSaverInterval(int) -- Internal.
- language(QString) -- Internal.
- resetPowerTimeout(int) - Internal.

### QPE/TaskBar

- message(QString) -- Internal. See Global::statusMessage()
- showInputMethod() -- Internal.
- hideInputMethod() -- Internal.
- reloadInputMethods() -- Internal.
- reloadApplets() -- Internal.

### QPE/Card

- mtabChanged() -- Sent when `/etc/mtab` may have changed.
- stabChanged() -- Sent when `/var/run/stab`, `/var/state/pcmcia/stab`, or `/var/lib/pcmcia/stab` may have changed.

### QPE/Network

- up() -- Sent when a network connection is running.
- down() -- Sent when a running network connection is closed.
- failed() -- Sent when a network connection failed to start.
- available(QStringList) -- Sent whenever the available network connections may have changed, or in a response to an announceChoices() message.
- announceChoices() -- Forces the network monitor to send a list of available connections.

### Qt/Tray

This channel allows Qt applications (not just Qtopia applications) to show system-tray status in a cross-platform manner, but it is not currently supported. See TaskbarAppletInterface for a more powerful alternative for system tray applications.

- popup(int,QPoint) - Sent
- doubleClicked(int,QPoint)
- clicked(int,QPoint)
- remove(int)
- setIcon(int,QPixmap)
- setToolTip(int,QString)

## The Application Channel

Each application listens on a channel called QPE/Application/appname, where appname is the executable name (the application identifier). Standard messages on this channel are:

QPE/Application/appname

- setDocument(QString) -- Internal. Causes the setDocument(const QString&) slot of the main document widget to be called.
- nextView() -- Applications connected to hardware buttons will receive this message if they are already visible.
- raise() -- Internal. Causes the the main document widget and the current modal widget to be raised.
- quit() -- Internal. Terminates the application.
- quitIfInvisible() -- Internal. Terminates the application if it is not shown.

The QPE/Application/appname channel has a special property: when messages are sent to these channels via QCopEnvelope, the message is delivered even if the application is not yet running (the application is run and the message is then sent).