DtEnqueueRequest(3Dt) DtEnqueueRequest(3Dt)
NAME
DtEnqueueRequest - queue a Desktop Metaphor request
SYNOPSIS
#include <Dt/Desktop.h>
int DtEnqueueRequest( Screen *scrn, Atom queue, Atom my_queue,
Window client, DtRequest *request);
DESCRIPTION
The DtEnqueueRequest function queues a Desktop Metaphor
request, where:
scrn is the Screen pointer
queue is the destination queue name
my_queue
is the queue for storing the request and reply, if
any. If a client does not send multiple requests
simultaneously, my_queue can be the same as queue.
client
is the window ID of the sender
request
is a pointer to the DtRequest structure
For each client request, DtRequestHeader, a standard header
structure, is prefixed to each request specific structure and
includes the following members:
DtRequestType rqtype; /* integer request type */
unsigned long serial; /* serial number */
unsigned short version; /* version number */
Window client; /* sender's window ID */
char *node_name; /* system node name of requester */
The client supplies rqtype, all other members are supplied
automatically.
The DtRequest structure is a union of all structures related
to each type where DtRequestType can take the values:
DT_DISPLAY_HELP
display help in a help window. The
DtDisplayHelpRequest structure includes the
Copyright 1994 Novell, Inc. Page 1
DtEnqueueRequest(3Dt) DtEnqueueRequest(3Dt)
following members:
DtRequestHeader
unsigned long source_type; /* source type */
char *app_title; /* application title */
char *app_name; /* application name */
char *title; /* title in help window */
char *help_dir; /* help directory */
char *icon_file; /* icon file */
char *string; /* help string */
char *file_name; /* help file name */
char *sect_tag; /* section tag/name */
source_type
the type of help requested, one of the
following:
DT_OPEN_HELPDESK
open the help desk
DT_SECTION_HELP
display a specified section or the
first section of a help file if
section name/tag is not provided
DT_STRING_HELP
display the specified string in the
help window pane
DT_TOC_HELP
display the table of contents of a
help file
app_title
the help window title. The title is of the
format app_title Help: topic. If not
specified, app_name is used instead.
app_name
is the application name, an executable, and
must be specified
title used in the help window, instead of, or if
no section name is available, as in the case
of DT_STRING_HELP
Copyright 1994 Novell, Inc. Page 2
DtEnqueueRequest(3Dt) DtEnqueueRequest(3Dt)
help_dir
help directory where the help file resides.
This is used if the help file is not located
in a standard path.
icon_file
name of the application's icon file,
displayed in the magnifying glass in the
help window. If not specified, a default
icon is used.
string
string to be displayed in the help window
pane, and must be specified if source_type
is DT_STRING_HELP
file_name
name of a help file, full or relative path
name. If file_name is a relative path name
and a help directory is not specified,
XtResolvePathname is used to locate it in
the standard paths. Note that only string
or file_name may be specified, not both.
This member must be specified is source_type
is DT_DISPLAY_HELP or DT_TOC_HELP.
sect_tag
section tag or name. If not specified, the
first section is displayed. This only has
an effect if source_type is DT_DISPLAY_HELP.
DT_MOVE_TO_WB
move a file to the wastebasket. The DtMoveToWB
structure includes the following members:
DtRequestHeader
char *pathname; /* full pathname */
DT_MOVE_FROM_WB
move a file from the wastebasket. The
DtMoveFromWB structure includes the following
members:
DtRequestHeader
char *pathname; /* full pathname */
Copyright 1994 Novell, Inc. Page 3
DtEnqueueRequest(3Dt) DtEnqueueRequest(3Dt)
DT_OPEN_FOLDER
present the user with a folder window associated
with the specified directory. If the window does
not already exist, create it. If the window is
already on the screen, raise it to the top of the
window stack, set focus to it, and do not use the
title, if provided.
The DtOpenFolderRequest structure includes the
following members:
DtRequestHeader
char *title; /* title of folder window */
char *path; /* full path of the directory */
DtAttrs options; /* options */
Where options is an unsigned long used as a bit
field to store option flags, and options can take
the following values:
DT_NOTIFY_ON_CLOSE
notify requester when specified folder
window is closed
DT_SYNC_FOLDER
update the folder window directory information.
The desktop manager first checks if the specified
folder is open. This request should be issued
after modifying contents of a directory.
The DtSyncFolderRequest structure includes the
following members:
DtRequestHeader
char *path; /* full path of the directory */
DT_CREATE_FILE_CLASS
add a new file class to the file database. The
new file class is appended to the end of the list;
if a file class of the same name exists, the new
file class replaces the existing one.
DtRequestHeader
char *file_name; /* name of the class database file */
DtAttrs options; /* options */
options may be one of the following:
Copyright 1994 Novell, Inc. Page 4
DtEnqueueRequest(3Dt) DtEnqueueRequest(3Dt)
0 to add the file class to the beginning of
the file class database and make it
available to all users.
DT_APPEND
to add the file class to the end of the file
class database.
DT_DELETE_FILE_CLASS
delete the specified file class from the file
database. The deleted file class will not be used
for new icons thereafter, and existing icons will
be reclassified immediately.
DtRequestHeader
char *file_name; /* name of class database file */
DT_QUERY_FILE_CLASS
query an existing file class. A client should use
this to validate an existing file class created by
the same application before replacing it with a
new file class. The DtQueryFclass structure
initiates the query and includes the following
members:
DtRequestHeader
char *class_name; /* name of the file class */
DtAttrs options; /* options */
Where options can take the value
DT_GET_PROPERTIES, which gets a list of all
properties.
DT_GET_DESKTOP_PROPERTY
gets the value of a desktop property. The
DtGetDesktopPropertyRequest structure specified
the desktop property to query and includes the
following members:
DtRequestHeader
char *name; /* property name */
DT_SET_DESKTOP_PROPERTY
sets the value of a desktop property and includes
the following members (attrs is 0):
DtRequestHeader
char *name; /* property name */
char *value; /* property value */
Copyright 1994 Novell, Inc. Page 5
DtEnqueueRequest(3Dt) DtEnqueueRequest(3Dt)
DtAttrs attrs; /* attributes */
Return Values
On success, DtEnqueueRequest returns the serial number of the
request, a non-negative number.
On failure, DtEnqueueRequest returns -1.
NOTICES
The following request structures have corresponding reply
structures [see DtAcceptReply(3Dt)]:
DT_MOVE_TO_WB,
DT_MOVE_FROM_WB,
DT_OPEN_FOLDER,
DT_CREATE_FILE_CLASS,
DT_DELETE_FILE_CLASS,
DT_QUERY_FILE_CLASS, and
DT_GET_DESKTOP_PROPERTY.
REFERENCES
DtAcceptReply(3Dt)
Copyright 1994 Novell, Inc. Page 6