OFGenerateHandleId(3tlib)


OFGenerateHandleId -- generate indentifier for BMIP request

Synopsis

OFGenerateHandleId oldHandleId bmipRequestVar

Description

When a request processor needs to use a different BMIP request (such as scoping of another class) OFGenerateHandleId is used to generate a new handleId to match the new BMIP request.

The routine is passed the old handleId and the new BMIP request, and it will return a new handleId that maps to the new data structures that the Server API has generated for the new BMIP request. These data structures and the original data structure will be deleted by the Server API when the request processor exits, and for all intents and purposes are invisible to the OSA writer.

Arguments


oldHandleId
the handle with which the Server API stores extra information about the current BMIP request. This is passed to the request processor as an argument.

bmipRequestVar
the name of a keyed list representing to the BMIP request, forwarded as an argument to the request processor.

Diagnostics


NO_SUCH_CLASS_HANDLE
The handleId named does not correspond to an existing class in the Server API's internal lookup table.

NO_SUCH_OBJECT_CLASS
The class argument to the BMIP request did not match any of the class names that are local to this OSA.

Examples

proc RequestProcessor {osaDataString handleId bmipRequest} {

if {[llength [keylget bmipRequest objectInstance]] != 0} {

# # If we have a scoped request #

keylset bmipRequest scope {} keylset bmipRequest objectClass {sco widget}

set widgetHandleId [OFGenerateHandleId $handleId bmipRequest]

widgetRequestProcessor {} $widgetHandleId $bmipRequest return }


25 April 2004
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004