SophiaFramework UNIVERSE 5.3 |
BREW 2.0 | BREW 2.1 | BREW 3.1 | BREW 4.0 |
---|---|---|---|
X | X | O | O |
Public Functions | |
---|---|
SFCError |
GetResult(
SInt32Ptr status
, SInt32Ptr number
, SInt32Ptr maxsize
) Retrieve the query result, after the resolving transaction completes.
|
SFCError |
GetResultAddr(
SInt32 index
, AEEAddrInfo * addrinfo
, SInt32Ptr size
) Retrieve a specific address information element query result, after the resolving transaction has completed.
|
SFCError |
GetResultAddr(
SInt32 index
, AEEAddrInfo * addrinfo
, SIntNPtr size
) Retrieve a specific address information element query result, after the resolving transaction has completed.
|
static SFBAddrInfoSmp |
NewInstance(
SFCErrorPtr exception = null
) Create a new SFBAddrInfo instance.
|
static SFBAddrInfoSmp |
NewInstance(
AEECLSID id
, SFCErrorPtr exception = null
) Create a new SFBAddrInfo instance.
|
SFCError |
SelectNetwork(
SInt32 network
) This function selects a specific data network.
|
SFCError |
StartQuery(
ACharConstPtr node
, ACharConstPtr server
, AEEAddrInfo const * hints
, SFXCallbackPtr callback
) Set the resolver query information and start it.
|
SFCError |
StartQuery(
SFXAnsiStringConstRef node
, SFXAnsiStringConstRef server
, AEEAddrInfo const * hints
, SFXCallbackPtr callback
) Set the resolver query information and start it.
|
SFCError |
QueryInterface(
AEECLSID clsid
, VoidHandle handle
)
(inherits from SFBQuery)
Ask an object for another API contract from the object in question.
|
SFCError |
QueryInterface(
AEECLSID clsid
, SFBBaseSmpPtr handle
)
(inherits from SFBQuery)
Ask an object for another API contract from the object in question.
|
SFBBaseSmp |
QueryInterface(
AEECLSID clsid
)
(inherits from SFBQuery)
Ask an object for another API contract from the object in question.
|
Void |
Self(
AEECLSID clsidReq
, SFBQuerySmpPtr clone
, AEECLSID clsidImp
)
(inherits from SFBQuery)
Helper macro for those implementing an object with a single interface.
|
SFBQuerySmp |
Self(
AEECLSID clsidReq
, AEECLSID clsidImp
)
(inherits from SFBQuery)
Helper macro for those implementing an object with a single interface.
|
Protected Functions | |
---|---|
static SFBBaseSmp |
FactoryByCreate(
AEECLSID id
, SFCErrorPtr exception = null
)
(inherits from SFBBase)
Create the instance for the specified ClassID's interface.
|
static SFBBaseSmp |
FactoryByQuery(
SFBQuerySmpConstRef query
, AEECLSID id
, SFCErrorPtr exception = null
)
(inherits from SFBBase)
Create the instance for the specified ClassID's interface using the SFBQuery instance.
|
[ public ] SFCError GetResult( SInt32Ptr status // The query result status SInt32Ptr number // The number of address information elements generated as a result of the query SInt32Ptr maxsize // The size of the largest address information element generated as a result of the query );
On success, returns the resolve query status, the number of returned addresses and the maximum address size.
[ public ] SFCError GetResultAddr( SInt32 index // zero based index of the address information element to retrieve AEEAddrInfo * addrinfo // pointer to the AEEAddrInfo to be filled in SInt32Ptr size // pointer to the size );
[ public ] SFCError GetResultAddr( SInt32 index // zero based index of the address information element to retrieve AEEAddrInfo * addrinfo // pointer to the AEEAddrInfo to be filled in SIntNPtr size // pointer to the size );
zero based index of the address information element to retrieve.
pointer to the AEEAddrInfo to be filled in. The memory must be pre-allocated by the client
On input: pointer to the size (in bytes) of pai, which needs to be large enough to accommodate the address information element including the address itself. On output: updated with the actual size of the address information element, including the address itself.
In order to get the size of an address information element, use zero *pnAddrInfoBytes.
[ public, static ] SFBAddrInfoSmp NewInstance( SFCErrorPtr exception = null // Error );
[ public, static ] SFBAddrInfoSmp NewInstance( AEECLSID id // Class ID SFCErrorPtr exception = null // Error );
When an SFBAddrInfo instance is created, no network is selected. If an SFBAddrInfo method that requires a network (StartQuery) is called before SFBAddrInfo::SelectNetwork(), AEE_NETWORK_DEFAULT will be implicitly selected, and the decision of which network to actually use is deferred to lower layers.
Once a network has been selected, either explicitly via SFBAddrInfo::SelectNetwork(), or implicitly as described above, the network may not be changed. To use a different network, a new IAddrInfo instance is required.
[ public ] SFCError StartQuery( ACharConstPtr node // NULL, host name, ip address or "\brewloopback" ACharConstPtr server // NULL or decimal port number string AEEAddrInfo const * hints // some hints for the resolve process SFXCallbackPtr callback // user supplied callback that will be resumed upon completion - results will be available only then );
[ public ] SFCError StartQuery( SFXAnsiStringConstRef node // NULL, host name, ip address or "\brewloopback" SFXAnsiStringConstRef server // NULL or decimal port number string AEEAddrInfo const * hints // some hints for the resolve process SFXCallbackPtr callback // user supplied callback that will be resumed upon completion - results will be available only then );
NULL, host name, ip address or "\brewloopback"
NULL or decimal port number string
some hints for the resolve process
user supplied callback that will be resumed upon completion - results will be available only then. if NULL then starts a synchronous query: A synchronous query only returns immediately available results (no network access) and cached results (if an address cache exists). If StartQuery() returns SUCCESS, results are immediately available. if an address needs to be resolved and is not found in the cache
See RFC 3493 section 6.1 for more details. A query can not be started more then once!
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |