IlsRtModelParser
 
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 
<mvserver> and <mvcomp>
Header File 
#include <ilserver/rtmodelp.h>
Synopsis 
class IlsRtModelParser{
private:
virtual void declClass(const IlsString& name,
IlsBoolean isExported,
IlsBoolean isDynamic);
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);
virtual void declAttribute
(const IlsString& name,
IlsMvDataType type,
IlsRTTypes::AttributeKind kind,
const IlsMvValue& defaultValue,
IlsBoolean isIndexed,
IlsBoolean canEdit,
IlsBoolean isImplicit,
IlsBoolean isExported,
IlsBoolean isDynamic);
virtual void declFunction(const IlsString& signature,
IlsBoolean isImplicit,
IlsBoolean isExported,
IlsBoolean isDynamic,
IlsBoolean global);
virtual void declParentClass(IlsString derived,
IlsString parent);
virtual void declViewType(const IlsString& viewTypeName,
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 
IlsAttributeDef, IlsFunctionDef, IlsModelInterpreter, IlsMvComponent, IlsObjectType, IlsRelationDef, IlsRTTypes::RelationKind

Version 5.8
Copyright © 2014, Rogue Wave Software, Inc. All Rights Reserved.