IrDA Information Acces Service (IAS) database queries are handled on the client side through the RNetDatabase
class.
After instantiating and opening an RNetDatabase
object, an IAS query is constructed from a TIASQuery
object. The constructor of a TIASQuery
requires two descriptors containing the IAS query class name and attribute name. The TIASQuery
constructor also takes the remote device address of a discovered machine because when a query is made, the underlying IrLAP connection may not have been established.
At the protocol level, the IAS query code has been designed to kick up IrLAP and IrLMP layer connections if they are not present. An RNetDatabase::Query()
call is invoked using a TIASResponse
instance and the previously constructed TIASQuery
object. This is an asynchronous call which completes with:
KErrNone
, if the query is successfully completed.
KErrBadName
, if no such class has been found on the remote device’s IAS.
KErrUnknown
,if the class is present but not the queried attribute.
The application writer is assumed to have some knowledge of the format of IAS queries and responses even though comprehensive IAS response parsing functions are exported from the TIASResponse
class. IAS response strings have the following valid formats:
Examples of key valid IAS queries and response types are given below with the Class and Attribute Names taking exactly the format they must pass on to a TIASQuery
constructor.
IAS Class Name | IAS Attribute Name | Description of response | Response Type and Offset |
|
| Remote machine’s device nickname. | Type 3. User string. |
|
| Level of IrMUX and IAS supported by remote station. | Type 2. Octet sequence. |
|
| Collection of one or more parameters indicating the level of IrCOMM support | Type 2. Octet sequence. |
|
| Range of remote IrMUX port numbers for IrCOMM service. | Type 1. Integer. |
|
| Range of remote IrMUX port numbers for TinyTP service. | Type 1. Integer. |
|
| Used to distinguish between otherwise identical IAS objects on remote station. | Type 3. User string. |
|
| Range of IrMUX port numbers for IrOBEX service | Type 1. Integer. |
|
| Range of remote IrMUX port numbers for remote station IrLPT (applies to IrDA printers only). | Type 1. Integer. |
* Note that these two “Device” class attributes must be supported by an IrDA-compliant remote station.
The classes RNetDatabase
, TIASQuery
and TIASResponse
are used for querying a remote station’s IAS server.