## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# scfInterfaceTraits< Interface > Class Template Reference
[Shared Class Facility (SCF)]

Interface information query class. More...

`#include <csutil/scf_interface.h>`

List of all members.

## Public Types

typedef typename_qualifier Interface::InterfaceTraits::InterfaceType | InterfaceType

## Static Public Member Functions

static scfInterfaceID | GetID ()
| Retrieve the interface's identifier.
static char const * | GetName ()
| Retrieve the interface's name as a string.
static scfInterfaceVersion | GetVersion ()
| Retrieve the interface's current version number.

## Detailed Description

### template<class Interface>
class scfInterfaceTraits< Interface >

Interface information query class.

This template class allows you to query static information about SCF interfaces, such as an interface's current version number. For example, to find out the version number of the iFooBar SCF interface, you would invoke scfInterfaceTraits<iFooBar>::GetVersion(). For old-style interfaces it is specialized through SCF_VERSION macro, with new style interfaces no specialization is needed.

Definition at line 368 of file scf_interface.h.

## Member Function Documentation

template<class Interface>
static scfInterfaceID scfInterfaceTraits< Interface >::GetID | ( |  | ) | `[inline, static]`

Retrieve the interface's identifier.

This is a unique identifier by which SCF recognizes the interface. Although human's prefer to identify interfaces symbolically via name, SCF perfers to identify them, for performance reasons, by scfInterfaceID, which is typically a small integer.

Definition at line 389 of file scf_interface.h.

References iSCF::GetInterfaceID(), scfInterfaceTraits< Interface >::GetName(), and iSCF::SCF.

template<class Interface>
static char const* scfInterfaceTraits< Interface >::GetName | ( |  | ) | `[inline, static]`

| Retrieve the interface's name as a string. Definition at line 403 of file scf_interface.h. Referenced by scfInterfaceTraits< Interface >::GetID().

template<class Interface>
static scfInterfaceVersion scfInterfaceTraits< Interface >::GetVersion | ( |  | ) | `[inline, static]`

| Retrieve the interface's current version number. Definition at line 377 of file scf_interface.h.

The documentation for this class was generated from the following file:

- csutil/scf_interface.h