Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

nvutil::UPIID Class Reference

Unique Plug Interface ID. More...

#include <PlugIn.h>

Collaboration diagram for nvutil::UPIID:

Collaboration graph
[legend]
List of all members.

Public Methods

 UPIID ()
 Default constructor. More...

NVSG_API UPIID (const char idstr[8], UPITID pitid)
 Constructor. More...

NVSG_API UPIID & operator= (const UPIID &rhs)
 Assignment operator. More...

const char * getPlugSpecificIDString () const
 Receive specific identifier string. More...

const UPITIDgetPlugInterfaceType () const
 Receive the unique interface type. More...


Friends

bool operator< (const UPIID &lhs, const UPIID &rhs)
 "Less than" comparison. More...

bool operator== (const UPIID &lhs, const UPIID &rhs)
 Comparison. More...

bool operator!= (const UPIID &lhs, const UPIID &rhs)
 Comparison. More...


Detailed Description

Unique Plug Interface ID.

A helper class for assembling unique IDs that identify a certain plug interface. An 8 byte specific identifier string will be concatenated to a UPITID to define a unique plug interface identifier, client code can query for.

Note:
A UPIID will be defined by a plug-in which provides a certain plug interface type.


Constructor & Destructor Documentation

nvutil::UPIID::UPIID   [inline]
 

Default constructor.

Default constructs a UPIID object.

NVSG_API nvutil::UPIID::UPIID const char    idstr[8],
UPITID    pitid
 

Constructor.

Constructs a UPIID object from a specific identifier string (8 bytes) and a UPITID which identifies the certain type of the interface a plug-in provides.

Parameters:
idstr  Specific identifier string
pitid  UPITID the plug-in provides


Member Function Documentation

NVSG_API UPIID& nvutil::UPIID::operator= const UPIID &    rhs
 

Assignment operator.

Assigning a new UPIID.

Returns:
A reference to this UPIID object.

const char * nvutil::UPIID::getPlugSpecificIDString   const [inline]
 

Receive specific identifier string.

Get hold of the identifier that is specific for a plug interface provided by a certain plug-in. Client code can take this additional information to decide which plug-in best matches the client's requirements concerning a certain plug interface type. The kind of information stored in the specific identifier string and how a certain client can use it, must be documented in detail by the plug-in writer.

For example, plug-ins that provide the nvsg::PITID_SCENE_LOADER or nvsg::PITID_SCENE_SAVER interface type for either loading or saving a NVSG scene, store the specific file extension within the specific identifier string of the UPIID object the plug-in returns, if client code queries for these interface types using the nvutil:queryInterfaceType interface.

Returns:
A constant string holding the specific identifier string.

const UPITID & nvutil::UPIID::getPlugInterfaceType   const [inline]
 

Receive the unique interface type.

This is for a client to verify if the plug interface type stored in this interface ID is the same, it was querying for.

Returns:
The UPITID stored in the UPIID.


Friends And Related Function Documentation

bool operator< const UPIID &    lhs,
const UPIID &    rhs
[friend]
 

"Less than" comparison.

Compares two UPIID objects. This operator is required e.g. if it is intended to store UPIID objects in ordered containers.

Returns:
true if lhs is less than rhs, false otherwise.
Parameters:
lhs  Left operand
rhs  Right operand

bool operator== const UPIID &    lhs,
const UPIID &    rhs
[friend]
 

Comparison.

Tests two UPIID objects on equality.

Returns:
true if lhs is equal to rhs, false otherwise.
Parameters:
lhs  Left operand
rhs  Right operand

bool operator!= const UPIID &    lhs,
const UPIID &    rhs
[friend]
 

Comparison.

Tests two UPIID objects on inequality.

Returns:
true if lhs is unequal to rhs, false otherwise.
Parameters:
lhs  Left operand
rhs  Right operand


The documentation for this class was generated from the following file:
Generated on Tue Mar 1 13:20:45 2005 for NVSGSDK by NVIDIA