QSDK 1.1 Documentation
Main Page | Modules | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

Q::SchemaFactory Struct Reference
[Entity platform]

Translates schema names into concept entity types. More...

#include <Q/gamedev.h>

Inheritance diagram for Q::SchemaFactory:

Com::Unknown List of all members.

Public Types

typedef Com::Ptr< SchemaFactoryPTR

Public Member Functions

virtual Utils::Result conceptToName (const Concept &con, Utils::String &name)=0
virtual Utils::Result nameToConcept (const char *name, Concept &concept)=0

Static Public Member Functions

PTR theFactory ()

Static Public Attributes

Com::UUID IID
Com::UUID CLSID

Detailed Description

Translates schema names into concept entity types.

The factory converts between user-created names of Game Schema types and their corresponding Concepts. The Game Schema types are authored in QStudio and must have been compiled into a Q file using QDS "compile" command or equivalent.

See also:
SchemaFactoryEd2 for extended tools API.


Member Typedef Documentation

typedef Com::Ptr<SchemaFactory> Q::SchemaFactory::PTR
 

A COM pointer to an object of this class.


Member Function Documentation

virtual Utils::Result Q::SchemaFactory::conceptToName const Concept con,
Utils::String name
[pure virtual]
 

Look up the schema type (type of EntityInstance) name for the given Concept. The type name and the Concept's names are not the same because Concepts have no notion of namespaces. To avoid clashes with the names of other Concepts, all schema Concepts are given a specific (internal) prefix. This prefix must not be assumed or otherwise coded externally.

See also:
nameToConcept()

virtual Utils::Result Q::SchemaFactory::nameToConcept const char *  name,
Concept concept
[pure virtual]
 

Look up the concept for the given schema type name. This is required in an EntityFactory::get() method where you are requested to build a given type of Entity based on a Concept.

See also:
conceptToName()

SchemaFactory::PTR Q::SchemaFactory::theFactory  )  [inline, static]
 

The Factory singleton


Member Data Documentation

Com::UUID Q::SchemaFactory::CLSID [static]
 

COM CLSID a2765a69-664a-4a98-b72a-7f1bce468516

Com::UUID Q::SchemaFactory::IID [static]
 

COM IID 33320fdb-aae6-4718-9a88-d6380dda7d97

Reimplemented from Com::Unknown.

Return to QSDK documentation Contents page. Contact details for support, information and fault-reporting.
Qube Software Limited © 2000-2004