Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

IDSSParserXgi Interface Reference

Inherited by IDSSParserXgi2.

List of all members.


Detailed Description

Main interface of the parser component.

The parser component can take an expression given as a string and create the expression and node data structure used in the COM API.

See also:
IDSSExpression

IDSSNode


Public Member Functions

HRESULT ExpressionNode ([in] IDispatch *pExpressionNode)
 DSS Expression or DSS Node (if any) to receive parsing results.
HRESULT ExpressionNode ([out, retval] IDispatch ppExpressionNode)
 DSS Expression or DSS Node (if any) to receive parsing results.
HRESULT Flags ([in] EnumDSSParserFlags Flags)
 Defines additional options controlling the parser operation.
HRESULT Flags ([out, retval] EnumDSSParserFlags *pFlags)
 Defines additional options controlling the parser operation.
HRESULT InitParsing ()
HRESULT Locale ([in] Int32 Locale)
 The locale code to be used during parsing.
HRESULT Locale ([out, retval] Int32 *Locale)
 The locale code to be used during parsing.
HRESULT LocalSymbolFolder ([in] IDSSFolder *pLocalSymFolder)
 Set by the client to contain objects considered to have a high frequency usage and to resolve ambiguities.
HRESULT LocalSymbolFolder ([out, retval] IDSSFolder ppLocalSymFolder)
 Set by the client to contain objects considered to have a high frequency usage and to resolve ambiguities.
HRESULT NextToken ([in] IDSSToken *pToken)
 The next token considered during parsing.
HRESULT NextToken ([out, retval] IDSSToken ppToken)
 The next token considered during parsing.
HRESULT Parse ([in] BSTR pExprString)
HRESULT ParseTokenStream ()
HRESULT SearchObject ([in] IDSSSearch *pSearchObj)
 DSS Search object used for searching objects by name during parsing.
HRESULT SearchObject ([out, retval] IDSSSearch ppSearchObj)
 DSS Search object used for searching objects by name during parsing.
HRESULT SearchResultsFolder ([in] IDSSFolder *pSearchResFolder)
 Contains the result of name searches, useful for resolving ambiguities.
HRESULT SearchResultsFolder ([out, retval] IDSSFolder ppSearchResFolder)
 Contains the result of name searches, useful for resolving ambiguities.
HRESULT SourceObject ([in] IDSSSource *pSource)
 DSS Source object used by the parser for generating new objects.
HRESULT SourceObject ([out, retval] IDSSSource ppSource)
 DSS Source object used by the parser for generating new objects.
HRESULT TargetObject ([in] IDSSObjectInfo *pObjInfo)
 The DSS Object, if any, that will receive the parsing result in its Expression property.
HRESULT TargetObject ([out, retval] IDSSObjectInfo ppObjInfo)
 The DSS Object (if any) that will receive the parsing result in its Expression property.
HRESULT TargetType ([in] EnumDSSObjectType ObjType)
 The DSS Type of the TargetObject.
HRESULT TargetType ([out, retval] EnumDSSObjectType *pObjType)
 The DSS Type of the TargetObject.
HRESULT TokenizeObject ()
HRESULT TokenStream ([in] IDSSTokenStream *pTokenStream)
 The stream of tokens carrying the parsing result.
HRESULT TokenStream ([out, retval] IDSSTokenStream ppTokenStream)
 The stream of tokens carrying the parsing result.


Member Function Documentation

HRESULT IDSSParserXgi::ExpressionNode [in] IDispatch *  pExpressionNode  ) 
 

DSS Expression or DSS Node (if any) to receive parsing results.

HRESULT IDSSParserXgi::ExpressionNode [out, retval] IDispatch   ppExpressionNode  ) 
 

DSS Expression or DSS Node (if any) to receive parsing results.

HRESULT IDSSParserXgi::Flags [in] EnumDSSParserFlags  Flags  ) 
 

Defines additional options controlling the parser operation.

This property is a bit vector for specifying additional parsing options (currently not used).

At this time, the flags are ignored (they have been used only for internal testing purposes).
Parameters:
Flags A bit vector of new flags.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::Flags [out, retval] EnumDSSParserFlags pFlags  ) 
 

Defines additional options controlling the parser operation.

This property is a bit vector for specifying additional parsing options (currently not used).

At this time, the flags are ignored (they have been used only for internal testing purposes).
Parameters:
pFlags Destination for the current bit vector currently in use.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::InitParsing  ) 
 

HRESULT IDSSParserXgi::Locale [in] Int32  Locale  ) 
 

The locale code to be used during parsing.

HRESULT IDSSParserXgi::Locale [out, retval] Int32 *  Locale  ) 
 

The locale code to be used during parsing.

HRESULT IDSSParserXgi::LocalSymbolFolder [in] IDSSFolder pLocalSymFolder  ) 
 

Set by the client to contain objects considered to have a high frequency usage and to resolve ambiguities.

This property defines a folder where the parser looks first (i.e., before doing a general search with the search object), when attempting to resolve a name into an interface to the corresponding object.

The folder's content may be prepared by the client, for reasons of efficiency and to help in resolving ambiguities. For example, the folder may contain frequently used objects, or a certain selected object whose name is known (possibly from a previous failed parsing) to be ambiguous in a general search.
Because objects in this folder should be shared with their original folders, the folder on this property has to be a search folder (of type DssTypeSearchFolder). Unlike the case of regular folders, an object can be a member of several search folders.
Parameters:
pLocalSymFolder Reference to the IDSSFolder interface of the new local symbols folder.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::LocalSymbolFolder [out, retval] IDSSFolder   ppLocalSymFolder  ) 
 

Set by the client to contain objects considered to have a high frequency usage and to resolve ambiguities.

This property defines a folder where the parser looks first (i.e., before doing a general search with the search object), when attempting to resolve a name into an interface to the corresponding object.

The folder's content may be prepared by the client, for reasons of efficiency and to help in resolving ambiguities. For example, the folder may contain frequently used objects, or a certain selected object whose name is known (possibly from a previous failed parsing) to be ambiguous in a general search.
Because objects in this folder should be shared with their original folders, the folder on this property has to be a search folder (of type DssTypeSearchFolder). Unlike the case of regular folders, an object can be a member of several search folders.
Parameters:
ppLocalSymFolder Destination for a reference to the IDSSFolder interface of the folder currently used for local symbols by the parser.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::NextToken [in] IDSSToken pToken  ) 
 

The next token considered during parsing.

In error situations, it provides, for the client, the token identified as the cause of the error.

HRESULT IDSSParserXgi::NextToken [out, retval] IDSSToken   ppToken  ) 
 

The next token considered during parsing.

In error situations, it provides, for the client, the token identified as the cause of the error.

HRESULT IDSSParserXgi::Parse [in] BSTR  pExprString  ) 
 

HRESULT IDSSParserXgi::ParseTokenStream  ) 
 

HRESULT IDSSParserXgi::SearchObject [in] IDSSSearch pSearchObj  ) 
 

DSS Search object used for searching objects by name during parsing.

This property contains a reference to a DSS Search object. It is used in name resolution: finding (obtaining references to) the actual objects specified by their names in an expression. The parser "programs" the supplied search object as necessary, to resolve names in the expression string. Note please that, before, involving the search object specified by this property, the name resolution functions look for the name/object in the folder indicated by LocalSymbolFolder.

Since there is no structure imposed on the folder tree and on the distribution of objects into it, there is no awareness about a dedicated system functions folder (containing all system functions). Therefore, function names are looked for just like the names of other objects.
Parameters:
pSearchObj Reference to an IDSSSearch interface to be used in resolving ambiguous names.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::SearchObject [out, retval] IDSSSearch   ppSearchObj  ) 
 

DSS Search object used for searching objects by name during parsing.

This property contains a reference to a DSS Search object. It is used in name resolution: finding (obtaining references to) the actual objects specified by their names in an expression. The parser "programs" the supplied search object as necessary, to resolve names in the expression string. Note please that, before, involving the search object specified by this property, the name resolution functions look for the name/object in the folder indicated by LocalSymbolFolder.

Since there is no structure imposed on the folder tree and on the distribution of objects into it, there is no awareness about a dedicated system functions folder (containing all system functions). Therefore, function names are looked for just like the names of other objects.
Parameters:
ppSearchObj Destination for a reference to the IDSSSearch object currently used by the parser.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::SearchResultsFolder [in] IDSSFolder pSearchResFolder  ) 
 

Contains the result of name searches, useful for resolving ambiguities.

This property defines a folder used by the parser to store the results of name searches. In case the name is ambiguous (i.e. there are more than one object with that name), all found objects are stored in this folder. The client may select one of these objects (usually by interacting with the end-user) to be used to continue the parsing. The selected object should be entered into the LocalSymbolFolder.

Because objects in the SearchResultsFolder folder are shared with their original folders, the folder has to be a search folder (of type DssTypeSearchFolder). Unlike the case of regular folders, an object can be a member of several search folders.
Parameters:
pSearchResFolder Reference to the IDSSFolder interface of the new search results folder.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::SearchResultsFolder [out, retval] IDSSFolder   ppSearchResFolder  ) 
 

Contains the result of name searches, useful for resolving ambiguities.

This property defines a folder used by the parser to store the results of name searches. In case the name is ambiguous (i.e. there are more than one object with that name), all found objects are stored in this folder. The client may select one of these objects (usually by interacting with the end-user) to be used to continue the parsing. The selected object should be entered into the LocalSymbolFolder.

Because objects in the SearchResultsFolder folder are shared with their original folders, the folder has to be a search folder (of type DssTypeSearchFolder). Unlike the case of regular folders, an object can be a member of several search folders.
Parameters:
ppSearchResFolder Destination for a reference to the IDSSFolder interface of the folder currently used for search results by the parser.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::SourceObject [in] IDSSSource pSource  ) 
 

DSS Source object used by the parser for generating new objects.

This property contains the IDSSSource object that is used for creating folders of results (in name resolution) and for other, internal, operations.

We may make, in the future, this property optional. In this case, if it is present, it is used. Otherwise, the IDSSSource of the search object is used.
Parameters:
pSource IDSSSource object to be used for creating search result folders.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::SourceObject [out, retval] IDSSSource   ppSource  ) 
 

DSS Source object used by the parser for generating new objects.

This property contains the IDSSSource object that is used for creating folders of results (in name resolution) and for other, internal, operations.

We may make, in the future, this property optional. In this case, if it is present, it is used. Otherwise, the IDSSSource of the search object is used.
Parameters:
ppSource Destination for a reference to the IDSSSource object used by the Parser.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::TargetObject [in] IDSSObjectInfo pObjInfo  ) 
 

The DSS Object, if any, that will receive the parsing result in its Expression property.

DSS Object (if any) to receive the parsing results in its properties (e.g. in its Expression property - but also in others).. This property specifies the DSS object that receives the parsing results - i.e. the DSS objects constructs generated by the parser. The destination for most of the parsing result is, usually, the Expression property of the (Metric, Filter etc.) object. However, there may be other properties, on the same object, filled in as a result of parsing: for example, the Dimensionality property of a Metric (including its collection of dimensionality units).

Only certain types of objects and certain combinations with the TargetType and ExpressionNode properties are handled by the parser - see below.
The combinations of TargetObject, TargetType and ExpressionNode property values that are valid for parsing are presented in the following table:
Client input for parsing TargetObject TargetType (*)
Parameters:
pObjInfo A reference to the IDSSObjectInfo of the new target object.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::TargetObject [out, retval] IDSSObjectInfo   ppObjInfo  ) 
 

The DSS Object (if any) that will receive the parsing result in its Expression property.

DSS Object (if any) to receive the parsing results in its properties (e.g. in its Expression property - but also in others).. This property specifies the DSS object that receives the parsing results - i.e. the DSS objects constructs generated by the parser. The destination for most of the parsing result is, usually, the Expression property of the (Metric, Filter etc.) object. However, there may be other properties, on the same object, filled in as a result of parsing: for example, the Dimensionality property of a Metric (including its collection of dimensionality units).

Only certain types of objects and certain combinations with the TargetType and ExpressionNode properties are handled by the parser - see below.
The combinations of TargetObject, TargetType and ExpressionNode property values that are valid for parsing are presented in the following table:
Client input for parsing TargetObject TargetType (*)
Parameters:
ppObjInfo Destination for a reference to the IDSSObjectInfo of current target object. May be NULL for appropriate settings of TargetType/ExpressionNode.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSParserXgi::TargetType [in] EnumDSSObjectType  ObjType  ) 
 

The DSS Type of the TargetObject.

HRESULT IDSSParserXgi::TargetType [out, retval] EnumDSSObjectType pObjType  ) 
 

The DSS Type of the TargetObject.

HRESULT IDSSParserXgi::TokenizeObject  ) 
 

HRESULT IDSSParserXgi::TokenStream [in] IDSSTokenStream pTokenStream  ) 
 

The stream of tokens carrying the parsing result.

It is also used as input in re-parsing.

HRESULT IDSSParserXgi::TokenStream [out, retval] IDSSTokenStream   ppTokenStream  ) 
 

The stream of tokens carrying the parsing result.

It is also used as input in re-parsing.


Copyright © 1996-2018 MicroStrategy Inc. All Rights Reserved.