IlsRtModelParser
Category
Dynamic view-related class (component side)
Inheritance Path
IlsRtModelParser
Description
This class is a base class of
IlsMvComponent. It allows a component to receive the specification of a server model—asynchronously in the case of a remote component—after the function
IlsMvComponent::getServerModel has been called. All the functions in the synopsis below are virtual and have empty implementations. They are called automatically by Rogue Wave Server when it receives the model description. It is the user’s responsibility to subclass
IlsMvComponent and override these functions to obtain a specific representation of the server model.
Libraries
Synopsis
class IlsRtModelParser{
private:
virtual void
declClass(const IlsString& name,
IlsBoolean isExported,
IlsBoolean isDynamic);
(const IlsString& name,
const IlsString& target,
IlsRTTypes::RelationKind kind,
const IlsString& reverseRelName,
IlsBoolean canEdit,
IlsBoolean isImplicit,
IlsBoolean isMandatory,
IlsBoolean isExported,
IlsBoolean isDynamic);
(const IlsString& name,
IlsMvDataType type,
IlsRTTypes::AttributeKind kind,
const IlsMvValue& defaultValue,
IlsBoolean isIndexed,
IlsBoolean canEdit,
IlsBoolean isImplicit,
IlsBoolean isExported,
IlsBoolean isDynamic);
IlsBoolean isImplicit,
IlsBoolean isExported,
IlsBoolean isDynamic,
IlsBoolean global);
IlsString parent);
const IlsString& viewInfo,
const IlsString& filename,
IlsMvViewParamInfo** params,
int nbParams);
};
Member Functions
[virtual] void declClass(const IlsString& name,
IlsBoolean isExported,
IlsBoolean isDynamic);
This virtual member function is called by Rogue Wave Server to declare a Server object type. It take the following parameters:
name is the name of the type as its first parameter.
isExported specifies whether this attribute has been exported. An element that has been marked as “not exported” should be considered as internal, which means that it is not available in Rogue Wave Views Studio, for example.
isDynamic specifies whether the corresponding element has been declared using the API of the dynamic modeling services.
[virtual] void declRelation(const IlsString& name,
const IlsString& target,
IlsRTTypes::RelationKind kind,
const IlsString& reverseRelName,
IlsBoolean canEdit,
IlsBoolean isImplicit,
IlsBoolean isMandatory,
IlsBoolean isExported,
IlsBoolean isDynamic);
This virtual member function is called by Rogue Wave Server to declare the Server relation name. This relation is owned by the object type that was declared last (see the function
declClass above). In addition to the relation name, it takes the following parameters:
target is the name of the relation target type.
kind is the kind of the relation.
reverseRelName is the name of the direct relation in case of an inverted relation or the name of the inverted relation in case of a direct relation.
canEdit is set to
IlsTrue if the relation is editable.
isImplicit is set to
IlsTrue if the relation has been implicitly declared in the server model interpreter.
isExported specifies whether this attribute has been exported. An element that has been marked as “not exported” should be considered as internal, which means that it is not available in Rogue Wave Views Studio, for example.
isMandatory specifies whether the relation has been declared mandatory or not. This argument is only revelant for unary relations.
isDynamic specifies whether the corresponding element has been declared using the API of the dynamic modeling services.
[virtual] void declAttribute(const IlsString& name,
IlsMvDataType type,
IlsRTTypes::AttributeKind kind,
const IlsMvValue& defaultValue,
IlsBoolean isIndexed,
IlsBoolean canEdit,
IlsBoolean isImplicit,
IlsBoolean isExported,
IlsBoolean isDynamic);
This virtual member function is called by Rogue Wave Server to declare the Server attribute name. This attribute is owned by the object type that was declared last (see the function
declClass above). In addition to the attribute name, it takes the following parameters:
type is the type of the attribute value.
kind is only defined for future extensions. It should not be used.
defaultValue lets you pass a default value for the attribute.
isIndexed is set to
IlsTrue if the attribute is indexed.
canEdit is set to
IlsTrue if the relation is editable.
isImplicit is set to
IlsTrue if the relation has been implicitly declared in the server model interpreter.
isExported specifies whether this attribute has been exported. An element that has been marked as “not exported” should be considered as internal, which means that it is not available in Rogue Wave Views Studio, for example.
isDynamic specifies whether the corresponding element has been declared using the API of the dynamic modeling services.
[virtual] void declFunction(const IlsString& signature,
IlsBoolean isImplicit,
IlsBoolean isExported,
IlsBoolean isDynamic,
IlsBoolean global);
This virtual member function is called by Rogue Wave Server to declare a Server member function. This function is owned by the object type that was declared last (see the function
declClass above). It takes the following parameters:
signature gives the signature of the function.
isImplicit is set to
IlsTrue if the function has been implicitly declared in the server model interpreter.
isExported specifies whether this attribute has been exported. An element that has been marked as “not exported” should be considered as internal, which means that it is not available in Rogue Wave Views Studio, for example.
global is set to
IlsTrue if a global function is currently declared.
[virtual] void declParentClass(IlsString derived,IlsString parent);
This virtual member function is called by Rogue Wave Server to declare that the Server type which derives directly from IlsRtModelParser inherits from the Server type parent.
[virtual] void declViewType(const IlsString& viewTypeName,
const IlsString& viewInfo,
const IlsString& filename,
IlsMvViewParamInfo** params,
int nbParams);
This virtual member function is called for each view types received that matches the request (see the member function
IlsMvComponent::getViewTypes). If it is non-null, the
params array parameter and its contents are not freed by Rogue Wave Server. You are responsible for freeing it when you no longer need it.
See Also
Version 5.8
Copyright © 2014, Rogue Wave Software, Inc. All Rights Reserved.