LibreOffice Module sc (master)  1
Public Types | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | List of all members
oox::xls::OpCodeProviderImpl Struct Reference
Inheritance diagram for oox::xls::OpCodeProviderImpl:
[legend]
Collaboration diagram for oox::xls::OpCodeProviderImpl:
[legend]

Public Types

typedef RefMap< sal_Int32, FunctionInfoOpCodeFuncMap
 
typedef RefMap< OUString, FunctionInfoFuncNameMap
 
typedef ::std::vector< FormulaOpCodeMapEntry > OpCodeEntryVector
 

Public Member Functions

 OpCodeProviderImpl (const FunctionInfoVector &rFuncInfos, const Reference< XMultiServiceFactory > &rxModelFactory)
 OOXML token mapping for formula parser service. More...
 

Public Attributes

OpCodeFuncMap maOpCodeFuncs
 
FuncNameMap maExtProgFuncs
 Maps API function op-codes to function data. More...
 
OpCodeEntryVector maParserMap
 Maps programmatical API function names to function data. More...
 
- Public Attributes inherited from oox::xls::ApiOpCodes
sal_Int32 OPCODE_UNKNOWN
 
sal_Int32 OPCODE_EXTERNAL
 Internal: function name unknown to mapper. More...
 
sal_Int32 OPCODE_PUSH
 External function call (e.g. add-ins). More...
 
sal_Int32 OPCODE_MISSING
 Op-code for common value operands. More...
 
sal_Int32 OPCODE_SPACES
 Placeholder for a missing function parameter. More...
 
sal_Int32 OPCODE_NAME
 Spaces between other formula tokens. More...
 
sal_Int32 OPCODE_DBAREA
 Index of a defined name. More...
 
sal_Int32 OPCODE_NLR
 Index of a database area. More...
 
sal_Int32 OPCODE_DDE
 Natural language reference. More...
 
sal_Int32 OPCODE_MACRO
 DDE link function. More...
 
sal_Int32 OPCODE_BAD
 Macro function call. More...
 
sal_Int32 OPCODE_NONAME
 Bad token (unknown name, formula error). More...
 
sal_Int32 OPCODE_OPEN
 Function style #NAME? error. More...
 
sal_Int32 OPCODE_CLOSE
 Opening parenthesis. More...
 
sal_Int32 OPCODE_SEP
 Closing parenthesis. More...
 
sal_Int32 OPCODE_ARRAY_OPEN
 Function parameter separator. More...
 
sal_Int32 OPCODE_ARRAY_CLOSE
 Opening brace for constant arrays. More...
 
sal_Int32 OPCODE_ARRAY_ROWSEP
 Closing brace for constant arrays. More...
 
sal_Int32 OPCODE_ARRAY_COLSEP
 Row separator in constant arrays. More...
 
sal_Int32 OPCODE_PLUS_SIGN
 Column separator in constant arrays. More...
 
sal_Int32 OPCODE_MINUS_SIGN
 Unary plus sign. More...
 
sal_Int32 OPCODE_PERCENT
 Unary minus sign. More...
 
sal_Int32 OPCODE_ADD
 Percent sign. More...
 
sal_Int32 OPCODE_SUB
 Addition operator. More...
 
sal_Int32 OPCODE_MULT
 Subtraction operator. More...
 
sal_Int32 OPCODE_DIV
 Multiplication operator. More...
 
sal_Int32 OPCODE_POWER
 Division operator. More...
 
sal_Int32 OPCODE_CONCAT
 Power operator. More...
 
sal_Int32 OPCODE_EQUAL
 String concatenation operator. More...
 
sal_Int32 OPCODE_NOT_EQUAL
 Compare equal operator. More...
 
sal_Int32 OPCODE_LESS
 Compare not equal operator. More...
 
sal_Int32 OPCODE_LESS_EQUAL
 Compare less operator. More...
 
sal_Int32 OPCODE_GREATER
 Compare less or equal operator. More...
 
sal_Int32 OPCODE_GREATER_EQUAL
 Compare greater operator. More...
 
sal_Int32 OPCODE_INTERSECT
 Compare greater or equal operator. More...
 
sal_Int32 OPCODE_LIST
 Range intersection operator. More...
 
sal_Int32 OPCODE_RANGE
 Range list operator. More...
 

Private Types

typedef ::std::map< OUString, ApiTokenApiTokenMap
 
typedef Sequence< FormulaOpCodeMapEntry > OpCodeEntrySequence
 

Private Member Functions

bool fillFuncTokenMaps (ApiTokenMap &orIntFuncTokenMap, ApiTokenMap &orExtFuncTokenMap, OpCodeEntrySequence &orEntrySeq, const Reference< XFormulaOpCodeMapper > &rxMapper) const
 
bool initOpCode (sal_Int32 &ornOpCode, const ApiTokenMap &rTokenMap, const OUString &rOdfName, const OUString &rOoxName)
 
bool initOpCode (sal_Int32 &ornOpCode, const ApiTokenMap &rTokenMap, const char *pcOdfName, const char *pcOoxName)
 
bool initOpCode (sal_Int32 &ornOpCode, const ApiTokenMap &rTokenMap, sal_Unicode cOdfName, sal_Unicode cOoxName)
 
bool initFuncOpCode (FunctionInfo &orFuncInfo, const ApiTokenMap &rFuncTokenMap)
 
bool initFuncOpCodes (const ApiTokenMap &rIntFuncTokenMap, const ApiTokenMap &rExtFuncTokenMap, const FunctionInfoVector &rFuncInfos)
 

Static Private Member Functions

static bool fillEntrySeq (OpCodeEntrySequence &orEntrySeq, const Reference< XFormulaOpCodeMapper > &rxMapper, sal_Int32 nMapGroup)
 
static bool fillTokenMap (ApiTokenMap &orTokenMap, OpCodeEntrySequence &orEntrySeq, const Reference< XFormulaOpCodeMapper > &rxMapper, sal_Int32 nMapGroup)
 
static bool initOpCode (sal_Int32 &ornOpCode, const OpCodeEntrySequence &rEntrySeq, sal_Int32 nSpecialId)
 

Detailed Description

Definition at line 1118 of file formulabase.cxx.

Member Typedef Documentation

Definition at line 1133 of file formulabase.cxx.

Definition at line 1121 of file formulabase.cxx.

typedef Sequence< FormulaOpCodeMapEntry > oox::xls::OpCodeProviderImpl::OpCodeEntrySequence
private

Definition at line 1134 of file formulabase.cxx.

typedef ::std::vector< FormulaOpCodeMapEntry > oox::xls::OpCodeProviderImpl::OpCodeEntryVector

Definition at line 1122 of file formulabase.cxx.

Definition at line 1120 of file formulabase.cxx.

Constructor & Destructor Documentation

oox::xls::OpCodeProviderImpl::OpCodeProviderImpl ( const FunctionInfoVector rFuncInfos,
const Reference< XMultiServiceFactory > &  rxModelFactory 
)
explicit

OOXML token mapping for formula parser service.

Definition at line 1149 of file formulabase.cxx.

References API_TOKEN_ARRAY_CLOSE, API_TOKEN_ARRAY_COLSEP, API_TOKEN_ARRAY_OPEN, aTokenMap, Exception, fillEntrySeq(), fillFuncTokenMaps(), fillTokenMap(), initFuncOpCodes(), initOpCode(), NAME, oox::xls::ApiOpCodes::OPCODE_ADD, oox::xls::ApiOpCodes::OPCODE_ARRAY_CLOSE, oox::xls::ApiOpCodes::OPCODE_ARRAY_COLSEP, oox::xls::ApiOpCodes::OPCODE_ARRAY_OPEN, oox::xls::ApiOpCodes::OPCODE_ARRAY_ROWSEP, oox::xls::ApiOpCodes::OPCODE_BAD, oox::xls::ApiOpCodes::OPCODE_CLOSE, oox::xls::ApiOpCodes::OPCODE_CONCAT, oox::xls::ApiOpCodes::OPCODE_DBAREA, oox::xls::ApiOpCodes::OPCODE_DDE, oox::xls::ApiOpCodes::OPCODE_DIV, oox::xls::ApiOpCodes::OPCODE_EQUAL, oox::xls::ApiOpCodes::OPCODE_EXTERNAL, oox::xls::ApiOpCodes::OPCODE_GREATER, oox::xls::ApiOpCodes::OPCODE_GREATER_EQUAL, oox::xls::ApiOpCodes::OPCODE_INTERSECT, oox::xls::ApiOpCodes::OPCODE_LESS, oox::xls::ApiOpCodes::OPCODE_LESS_EQUAL, oox::xls::ApiOpCodes::OPCODE_LIST, oox::xls::ApiOpCodes::OPCODE_MACRO, oox::xls::ApiOpCodes::OPCODE_MINUS_SIGN, oox::xls::ApiOpCodes::OPCODE_MISSING, oox::xls::ApiOpCodes::OPCODE_MULT, oox::xls::ApiOpCodes::OPCODE_NAME, oox::xls::ApiOpCodes::OPCODE_NLR, oox::xls::ApiOpCodes::OPCODE_NONAME, oox::xls::ApiOpCodes::OPCODE_NOT_EQUAL, oox::xls::ApiOpCodes::OPCODE_OPEN, oox::xls::ApiOpCodes::OPCODE_PERCENT, oox::xls::ApiOpCodes::OPCODE_PLUS_SIGN, oox::xls::ApiOpCodes::OPCODE_POWER, oox::xls::ApiOpCodes::OPCODE_PUSH, oox::xls::ApiOpCodes::OPCODE_RANGE, oox::xls::ApiOpCodes::OPCODE_SEP, oox::xls::ApiOpCodes::OPCODE_SPACES, oox::xls::ApiOpCodes::OPCODE_SUB, oox::xls::ApiOpCodes::OPCODE_UNKNOWN, and PUSH.

Member Function Documentation

bool oox::xls::OpCodeProviderImpl::fillEntrySeq ( OpCodeEntrySequence orEntrySeq,
const Reference< XFormulaOpCodeMapper > &  rxMapper,
sal_Int32  nMapGroup 
)
staticprivate

Definition at line 1230 of file formulabase.cxx.

References Exception.

Referenced by fillFuncTokenMaps(), fillTokenMap(), and OpCodeProviderImpl().

bool oox::xls::OpCodeProviderImpl::fillFuncTokenMaps ( ApiTokenMap orIntFuncTokenMap,
ApiTokenMap orExtFuncTokenMap,
OpCodeEntrySequence orEntrySeq,
const Reference< XFormulaOpCodeMapper > &  rxMapper 
) const
private

Definition at line 1256 of file formulabase.cxx.

References fillEntrySeq(), and oox::xls::ApiOpCodes::OPCODE_EXTERNAL.

Referenced by OpCodeProviderImpl().

bool oox::xls::OpCodeProviderImpl::fillTokenMap ( ApiTokenMap orTokenMap,
OpCodeEntrySequence orEntrySeq,
const Reference< XFormulaOpCodeMapper > &  rxMapper,
sal_Int32  nMapGroup 
)
staticprivate

Definition at line 1244 of file formulabase.cxx.

References fillEntrySeq().

Referenced by OpCodeProviderImpl().

bool oox::xls::OpCodeProviderImpl::initFuncOpCode ( FunctionInfo orFuncInfo,
const ApiTokenMap rFuncTokenMap 
)
private
bool oox::xls::OpCodeProviderImpl::initFuncOpCodes ( const ApiTokenMap rIntFuncTokenMap,
const ApiTokenMap rExtFuncTokenMap,
const FunctionInfoVector rFuncInfos 
)
private
bool oox::xls::OpCodeProviderImpl::initOpCode ( sal_Int32 &  ornOpCode,
const OpCodeEntrySequence rEntrySeq,
sal_Int32  nSpecialId 
)
staticprivate

Definition at line 1268 of file formulabase.cxx.

Referenced by initOpCode(), and OpCodeProviderImpl().

bool oox::xls::OpCodeProviderImpl::initOpCode ( sal_Int32 &  ornOpCode,
const ApiTokenMap rTokenMap,
const OUString &  rOdfName,
const OUString &  rOoxName 
)
private

Definition at line 1280 of file formulabase.cxx.

References maParserMap, and OUStringToOString().

bool oox::xls::OpCodeProviderImpl::initOpCode ( sal_Int32 &  ornOpCode,
const ApiTokenMap rTokenMap,
const char *  pcOdfName,
const char *  pcOoxName 
)
private

Definition at line 1301 of file formulabase.cxx.

References initOpCode().

bool oox::xls::OpCodeProviderImpl::initOpCode ( sal_Int32 &  ornOpCode,
const ApiTokenMap rTokenMap,
sal_Unicode  cOdfName,
sal_Unicode  cOoxName 
)
private

Definition at line 1308 of file formulabase.cxx.

References initOpCode().

Member Data Documentation

FuncNameMap oox::xls::OpCodeProviderImpl::maExtProgFuncs

Maps API function op-codes to function data.

Definition at line 1125 of file formulabase.cxx.

Referenced by initFuncOpCodes().

OpCodeFuncMap oox::xls::OpCodeProviderImpl::maOpCodeFuncs

Definition at line 1124 of file formulabase.cxx.

Referenced by initFuncOpCodes().

OpCodeEntryVector oox::xls::OpCodeProviderImpl::maParserMap

Maps programmatical API function names to function data.

Definition at line 1126 of file formulabase.cxx.

Referenced by initFuncOpCode(), and initOpCode().


The documentation for this struct was generated from the following file: