# The Application Kit: Global Variables,Constants, and Defined Types

This section lists the global variables, constants, and defined types that are defined in the Application Kit. Error codes are documented in the chapter on the Support Kit.

Although the Application Kit defines the constants for all system messages (such as `B_REFS_RECEIVED` and `B_KEY_DOWN`), only those that objects in this kit handle are listed here. Those that designate interface messages are documented in the chapter on the Interface Kit.

## Global Variables

### be_app

          BApplication *be_app

This variable provides global access to the BApplication object. It's initialized by the BApplication constructor.

See also: the BApplication class

### be_app_messenger

          BMessenger *be_app_messenger

This variable provides global access to a BMessenger object whose target is `be_app`. It's initialized by the BApplication constructor.

See also: the BApplication class

### be_clipboard

          BClipboard *be_clipboard

This variable gives applications access to the system clipboard--the shared repository of data for cut, copy, and paste operations. It's initialized at startup.

See also: the BClipboard class

### be_roster

          const BRoster *be_roster

This variable points to the application's global BRoster object. The BRoster keeps a roster of all running applications and can add applications to the roster by launching them. It's initialized when the application starts up.

See also: the BRoster class

## Constants

### Application Flags

Constant
`B_BACKGROUND_APP`
`B_ARGV_ONLY`
`B_LAUNCH_MASK`

These constants are used to get information from the `flags` field of an `app_info` structure.

See also: `BRoster::GetAppInfo()`, "Launch Constants" below

### Application Messages

Constant
`B_QUIT_REQUESTED`
`B_READY_TO_RUN`
`B_APP_ACTIVATED`
`B_ABOUT_REQUESTED`
`B_QUIT_REQUESTED`
`B_ARGV_RECEIVED`
`B_REFS_RECEIVED`
`B_PULSE`

These constants represent the system messages that are recognized and given special treatment by BApplication and BLooper dispatchers. Application messages concern the application as a whole, rather than any particular window thread. See the introduction to this chapter and the BApplication class for details.

See also: "Application Messages" on page 30 of the BApplication class

### Cursor Constants

          const unsigned char B_HAND_CURSOR[]

          const unsigned char B_I_BEAM_CURSOR[]

These constants contain all the data needed to set the cursor to the default hand image or to the standard I-beam image for text selection.

See also: `BApplication::SetCursor()`

### filter_result Constants

Constant
`B_SKIP_MESSAGE`
`B_DISPATCH_MESSAGE`

These constants list the possible return values of a filter function.

See also: `BMessageFilter::Filter()`

### Launch Constants

Constant
`B_MULTIPLE_LAUNCH`
`B_SINGLE_LAUNCH`
`B_EXCLUSIVE_LAUNCH`

These constants explain whether an application can be launched any number of times, only once from a particular executable file, or only once for a particular application signature. This information is part of the `flags` field of an `app_info` structure and can be extracted using the `B_LAUNCH_MASK` constant.

See also: `BRoster::GetAppInfo()`, "Application Flags" above

### Looper Port Capacity

Constant
`B_LOOPER_PORT_DEFAULT_CAPACITY`

This constant records the default capacity of a BLooper's port. The default is 100 slots; a greater or smaller number can be specified when constructing the BLooper.

See also: the BLooper constructor

### Message Constants

Constant
`B_REPLY`
`B_NO_REPLY`
`B_MESSAGE_NOT_UNDERSTOOD`
`B_SAVE_REQUESTED`
`B_CANCEL`
`B_SIMPLE_DATA`
`B_MIME_DATA`
`B_ARCHIVED_OBJECT`
`B_UPDATE_STATUS_BAR`
`B_RESET_STATUS_BAR`
`B_NODE_MONITOR`
`B_QUERY_UPDATE`
`B_CUT`
`B_COPY`
`B_PASTE`
`B_SELECT_ALL`
`B_SET_PROPERTY`
`B_GET_PROPERTY`
`B_CREATE_PROPERTY`
`B_DELETE_PROPERTY`
`B_GET_SUPPORTED_SUITES`

These constants mark messages that the system sometimes puts together, but that aren't dispatched like system messages. See "Standard Messages" in the Message Protocols appendix for details.

See also: `BMessage::SendReply()`, the BTextView class in the Interface Kit

### message_delivery Constants

Constant
`B_ANY_DELIVERY`
`B_DROPPED_DELIVERY`
`B_PROGRAMMED_DELIVERY`

These constants distinguish the delivery criterion for filtering a BMessage.

See also: the BMessageFilter constructor

### message_source Constants

Constant
`B_ANY_SOURCE`
```B_REMOTE_SOURCE`
`B_LOCAL_SOURCE`

These constants list the possible constraints that a BMessageFilter might impose on the source of the messages it filters.

See also: the BMessageFilter constructor

### Message Specifiers

Constant
`B_NO_SPECIFIER`
`B_DIRECT_SPECIFIER`
`B_INDEX_SPECIFIER`
`B_REVERSE_INDEX_SPECIFIER`
`B_RANGE_SPECIFIER`
`B_REVERSE_RANGE_SPECIFIER`
`B_NAME_SPECIFIER`
`B_ID_SPECIFIER`
`B_SPECIFIERS_END` = 128

These constants fill the `what` slot of specifier BMessages. Each constant indicates what other information the specifer contains and how it should be interpreted. For example, a `B_REVERSE_INDEX_SPECIFIER` message has an "index" field with an index that counts backwards from the end of a list. A `B_NAME_SPECIFIER` message includes a "name" field that names the requested item.

## Defined Types

### app_info

          typedef struct {
                thread_id thread;
                team_id team;
                port_id port;
                uint32 flags;
                entry_ref ref;
                char signature[B_MIME_TYPE_LENGTH];
                app_info(void);
                ~app_info(void);
             } app_info

This structure is used by BRoster's `GetAppInfo()`, `GetRunningAppInfo()`, and `GetActiveAppInfo()` functions to report information about an application. Its constructor ensures that its fields are initialized to invalid values. To get meaningful values for an actual application, you must pass the structure to one of the BRoster functions. See those functions for a description of the various fields.

See also: `BRoster::GetAppInfo()`

### filter_result

          typedef enum { . . . } filter_result

This type distinguishes between the `B_SKIP_MESSAGE` and `B_DISPATCH_MESSAGE` return values for a filter function.

See also: `BMessageFilter::Filter()`

### message_delivery

          typedef enum { . . . } message_delivery

This type enumerates the delivery criteria for filtering a message.

See also: the BMessageFilter constructor

### message_source

          typedef enum { . . . } message_source

This type enumerates the source criteria for filtering a message.

See also: the BMessageFilter constructor

The Be Book, in lovely HTML, for BeOS Release 3.

Copyright © 1998 Be, Inc. All rights reserved.

Last modified March 26, 1998.