Cyberspace EngineersEngineering Cyberspace!Interaction
|
Interaction (client, not player) with a universe requires expressing an interest in it, and calling methods of particular objects. When calling a method the client may need to pass a variety of data types. The IUniverse interface allows accessing classes, methods, objects, interests, etc. and being able to create series and primitive values as necessary in supplying method arguments. IUnknown/IUniverse/IValueThe interface of this node's universe is obtained via IUnknown::QueryInterface(IUniverse). GetNode(INode**) // The Node to which this universe belongs EnumClasses(IEnumClass**) // Lists classes in the universe NewInterest(IInterest**,IClass*) // Create a new interest in objects of a particular class NewSeries(ISeries**,ISeriesData*) // Creates a new series from the data that is to make it up New[primitive value](IValue**,I[Value]Data*) // Creates a a variety of primitive value types in this universe IUnknown/IClass/IValueGetUniverse(IUniverse**) // The universe to which this class belongs EnumMethods(IEnumMethod**,IClass*) // Lists methods in a class IUnknown/IMethod/IValueGetClass(IClass**) // The class of which this method is a member IUnknown/IObject/IValueRead(IValue**,IMethod*) // Call a method with no argument, reading the return value Write(IMethod*,IValue*) // Call a method with the supplied argument, ignoring any return value Call(IValue**,IMethod*,IValue*) // Call a method with the supplied argument, reading the return value IUnknown/IInterest/IValueGetClass(IClass**) // The class to which this interest belongs GetCriterion(IValue**,IMethod*) // Get the current criterion of this interest corresponding to the specific method SetCriterion(IMethod*,IValue*) // Set the current criterion of this interest corresponding to the specific method Various methods for iterating through the objects that match this interest IUnknown/ISeries/IValueVarious methods for reading the values in a series IValue:IUnknownVarious methods for obtaining information about the value and translating it into the client's preferred representation IUnknown/ISeriesData/IValueVarious methods for reading data. |