Commit bc7d7366 authored by ElenaSubbotina's avatar ElenaSubbotina

XlsFormat - connections records

parent a434ae2c
......@@ -44,7 +44,6 @@ DConName::~DConName()
{
}
BaseObjectPtr DConName::clone()
{
return BaseObjectPtr(new DConName(*this));
......@@ -52,9 +51,14 @@ BaseObjectPtr DConName::clone()
void DConName::readFields(CFRecord& record)
{
#pragma message("####################### DConName record is not implemented")
Log::error("DConName record is not implemented.");
record >> stName >> cchFile;
if (cchFile > 0 && cchFile < 0xffff)
{
stFile.setSize(cchFile);
record >> stFile;
}
// skip unused
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
}
......
......@@ -32,12 +32,11 @@
#pragma once
#include "BiffRecord.h"
#include "../Biff_structures/BiffString.h"
namespace XLS
{
// Logical representation of DConName record in BIFF8
class DConName: public BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO(DConName)
......@@ -47,12 +46,14 @@ public:
~DConName();
BaseObjectPtr clone();
void readFields(CFRecord& record);
static const ElementType type = typeDConName;
XLUnicodeString stName;
unsigned short cchFile;
XLUnicodeStringNoCch stFile;
};
} // namespace XLS
......
......@@ -31,6 +31,11 @@
*/
#include "DConn.h"
#include "../Biff_structures/DConnConnectionWeb.h"
#include "../Biff_structures/DConnConnectionOleDb.h"
#include "../Biff_structures/ConnGrbitDbtWeb.h"
#include "../Biff_structures/ConnGrbitDbtOledb.h"
#include "../Biff_structures/ConnGrbitDbtAdo.h"
namespace XLS
{
......@@ -52,10 +57,65 @@ BaseObjectPtr DConn::clone()
void DConn::readFields(CFRecord& record)
{
#pragma message("####################### DConn record is not implemented")
Log::error("DConn record is not implemented.");
unsigned short flags1, reserved1;
unsigned char flags2, reserved2;
record >> frtHeaderOld >> dbt >> flags1 >> cParams >> reserved1 >> flags2 >> reserved2;
fSavePwd = GETBIT(flags1, 0);
fTablesOnlyHtml = GETBIT(flags1, 1);
fTableNames = GETBIT(flags1, 2);
fDeleted = GETBIT(flags1, 3);
fStandAlone = GETBIT(flags1, 4);
fAlwaysUseConnectionFile = GETBIT(flags1, 5);
fBackgroundQuery= GETBIT(flags1, 6);
fRefreshOnLoad = GETBIT(flags1, 7);
fSaveData = GETBIT(flags1, 8);
fMaintain = GETBIT(flags1, 0);
fNewQuery = GETBIT(flags1, 1);
fImportXmlSource= GETBIT(flags1, 2);
fSPListSrc = GETBIT(flags1, 3);
fSPListReinitCache = GETBIT(flags1, 4);
fSrcIsXml = GETBIT(flags1, 7);
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
switch (dbt)
{
case 4: grbitDbt.reset(new ConnGrbitDbtWeb); break;
case 5: grbitDbt.reset(new ConnGrbitDbtOledb); break;
case 7: grbitDbt.reset(new ConnGrbitDbtAdo); break;
}
if (grbitDbt)
{
record >> *grbitDbt;
}
record >> bVerDbqueryEdit >> bVerDbqueryRefreshed >> bVerDbqueryRefreshableMin >> wRefreshInterval >> wHtmlFmt >> wHtmlFmt >> rcc >> credMethod;
record >> rgchSourceDataFile >> rgchSourceConnectionFile >> rgchConnectionName >> rgchConnectionDesc >> rgchSSOApplicationID >> tableNames;
for ( unsigned short i = 0; i < cParams; i++)
{
DConnParameter val;
params.push_back(val);
}
switch (dbt)
{
case 1: connection.reset(new XLUnicodeStringSegmented); break;
case 4: connection.reset(new DConnConnectionWeb); break;
case 5: connection.reset(new DConnConnectionOleDb); break;
case 6: connection_txtQry.readFields(record); break;
}
if (connection)
record >> *connection;
record >> rgbSQL >> rgbSQLSav >> rgbEditWebPage >> id;
int skip = record.getDataSize() - record.getRdPtr();
record.skipNunBytes(skip);
}
} // namespace XLS
......
......@@ -31,13 +31,15 @@
*/
#pragma once
#include "BiffRecord.h"
#include "TxtQry.h"
#include "../Biff_structures/FrtHeaderOld.h"
#include "../Biff_structures/DConnParameter.h"
#include "../Biff_structures/DConnId.h"
#include "../Biff_structures/DConnStringSequence.h"
namespace XLS
{
// Logical representation of DConn record in BIFF8
class DConn: public BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO(DConn)
......@@ -47,13 +49,54 @@ public:
~DConn();
BaseObjectPtr clone();
void readFields(CFRecord& record);
static const ElementType type = typeDConn;
static const ElementType type = typeDConn;
FrtHeaderOld frtHeaderOld;
unsigned short dbt;
bool fSavePwd;
bool fTablesOnlyHtml;
bool fTableNames;
bool fDeleted;
bool fStandAlone;
bool fAlwaysUseConnectionFile;
bool fBackgroundQuery;
bool fRefreshOnLoad;
bool fSaveData;
unsigned short cParams;
bool fMaintain;
bool fNewQuery;
bool fImportXmlSource;
bool fSPListSrc;
bool fSPListReinitCache;
bool fSrcIsXml;
BiffStructurePtr grbitDbt;
unsigned char bVerDbqueryEdit;
unsigned char bVerDbqueryRefreshed;
unsigned char bVerDbqueryRefreshableMin;
unsigned short wRefreshInterval;
unsigned short wHtmlFmt;
_UINT32 rcc;
unsigned char credMethod;
XLUnicodeStringSegmented rgchSourceDataFile;
XLUnicodeStringSegmented rgchSourceConnectionFile;
XLUnicodeStringSegmented rgchConnectionName;
XLUnicodeStringSegmented rgchConnectionDesc;
XLUnicodeStringSegmented rgchSSOApplicationID;
XLUnicodeStringSegmented tableNames;
std::vector<DConnParameter> params;
BiffStructurePtr connection;
TxtQry connection_txtQry;
DConnStringSequence rgbSQL;
DConnStringSequence rgbSQLSav;
DConnStringSequence rgbEditWebPage;
DConnId id;
};
} // namespace XLS
......
......@@ -32,8 +32,8 @@
#pragma once
#include "BiffRecord.h"
#include "../Biff_structures/FrtHeaderOld.h"
#include "../Biff_structures/BiffString.h"
#include "../Biff_structures/FrtHeaderOld.h"
namespace XLS
{
......
......@@ -53,9 +53,34 @@ BaseObjectPtr TxtQry::clone()
void TxtQry::readFields(CFRecord& record)
{
#pragma message("####################### TxtQry record is not implemented")
Log::error("TxtQry record is not implemented.");
//record >> some_value;
unsigned short reserved, flags1, unused1;
unsigned char unused2, flags2;
record >> rt >> flags1 >> unused1 >> rowStartAt >> flags2 >> chCustom >> unused2 >> itwf >> chDecimal >> chThousSep;
fFile = GETBIT(flags1, 0);
fDelimited = GETBIT(flags1, 1);
iCpid = GETBITS(flags1, 2, 3);
fPromptForFile = GETBIT(flags1, 4);
iCpidNew = GETBITS(flags1, 5, 14);
fUseNewiCpid = GETBIT(flags1, 15);
fTab = GETBIT(flags2, 0);
fSpace = GETBIT(flags2, 1);
fComma = GETBIT(flags2, 2);
fSemiColon = GETBIT(flags2, 3);
fCustom = GETBIT(flags2, 4);
fConsecutive = GETBIT(flags2, 5);
iTextDelm = GETBITS(flags1, 6, 7);
for (int i = 0 ; i < itwf; i++)
{
TxtWf val;
record >> val;
rgtxtwf.push_back(val);
}
record >> rgchFile;
}
} // namespace XLS
......
......@@ -32,12 +32,12 @@
#pragma once
#include "BiffRecord.h"
#include "../Biff_structures/TxtWf.h"
#include "../Biff_structures/BiffString.h"
namespace XLS
{
// Logical representation of TxtQry record in BIFF8
class TxtQry: public BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO(TxtQry)
......@@ -50,9 +50,29 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeTxtQry;
static const ElementType type = typeTxtQry;
unsigned short rt;
bool fFile;
bool fDelimited;
unsigned char iCpid;
bool fPromptForFile;
unsigned char iCpidNew;
bool fUseNewiCpid;
_INT32 rowStartAt;
bool fTab;
bool fSpace;
bool fComma;
bool fSemiColon;
bool fCustom;
bool fConsecutive;
unsigned char iTextDelm;
unsigned short chCustom;
_INT32 itwf;
unsigned char chDecimal;
unsigned char chThousSep;
std::vector<TxtWf> rgtxtwf;
XLUnicodeString rgchFile;
};
} // namespace XLS
......
......@@ -205,5 +205,31 @@ const bool BiffString::getWideRecommendation() const
}
return false;
}
//-----------------------------------------------------------------
BiffStructurePtr XLUnicodeStringSegmented::clone()
{
return BiffStructurePtr(new XLUnicodeStringSegmented(*this));
}
void XLUnicodeStringSegmented::load(CFRecord& record)
{
record >> cchTotal;
if (cchTotal < 1) return;
_UINT32 cchTotal_test = 0;
while(true)
{
if (record.isEOF())
break;
XLUnicodeString string;
record >> string;
cchTotal_test += string.value().length();
arStrings.push_back(string.value());
strTotal += string.value();
}
}
} // namespace XLS
......@@ -211,60 +211,24 @@ CFRecord& operator>>(CFRecord& record, XLUnicodeString_T<cchType, det_id, cch_wh
return record;
}
//
//
//template<class cchType, AW_DETERMINATION det_id, CCH_SOURCE cch_where>
//CFRecord& operator<<(CFRecord& record, XLUnicodeString_T<cchType, det_id, cch_where>& val)
//{
// size_t struct_size = 0;
// bool is_wide = val.getWideRecommendation();
//
// switch(cch_where)
// {
// case cch_READ_FROM_RECORD:
// {
// cchType cch_l = static_cast<cchType>(val.getSize()); // Just to conform size write.
// if(aw_READ_FROM_CCH == det_id)
// {
// SETBIT(cch_l, ((sizeof(cchType) * 8) - 1), is_wide);
// }
// record << cch_l;
// struct_size += sizeof(cchType);
// break;
// }
// case cch_PASSED_AS_AN_ARGUMENT:
// // Means cch already stored outside
// break;
// }
//
// switch(det_id)
// {
// case aw_READ_FROM_RECORD_IF_CCH_NOT_ZERO:
// if(0 == val.getSize()) break;
// case aw_READ_FROM_RECORD:
// {
// unsigned char fHighByte = is_wide ? 1 : 0;
// record << fHighByte;
// struct_size += sizeof(fHighByte);
// break;
// }
// case aw_WIDE:
// is_wide = true;
// break;
// case aw_ANSI:
// is_wide = false;
// break;
// case aw_READ_FROM_CCH:
// // See cch_READ_FROM_RECORD case in the previous switch
// break;
// }
// struct_size += (val.getSize() << (is_wide ? 1 : 0));
// val.store(record, is_wide);
// val.setStructSize(struct_size); // The only usage is DXFFntD::load
// return record;
//}
//
//
class XLUnicodeStringSegmented : public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(XLUnicodeStringSegmented)
public:
XLUnicodeStringSegmented(){}
~XLUnicodeStringSegmented(){}
BiffStructurePtr clone();
virtual void load(CFRecord& record);
static const ElementType type = typeStringSegmented;
_UINT32 cchTotal;
std::vector<std::wstring> arStrings;
std::wstring strTotal;
};
} // namespace XLS
......
......@@ -89,7 +89,6 @@ struct PtgAttrSpaceType : public BiffStructure_NoVtbl
unsigned char cch;
};
struct RkNumber : public BiffStructure_NoVtbl
{
unsigned int fX100 : 1;
......@@ -354,22 +353,8 @@ struct CFrtId : public BiffStructure_NoVtbl
unsigned short rtLast;
};
} // namespace XLS
namespace CRYPTO
{
struct Version : public XLS::BiffStructure_NoVtbl
{
unsigned short vMajor;
unsigned short vMinor;
};
} // namespace CRYPTO
#pragma pack()
......@@ -36,8 +36,6 @@
namespace XLS
{
class CFRecord;
class CFParsedFormula : public ParsedFormula
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(CFParsedFormula)
......
......@@ -36,8 +36,6 @@
namespace XLS
{
class CFRecord;
class CFParsedFormulaNoCCE : public ParsedFormula
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(CFParsedFormulaNoCCE)
......
......@@ -37,8 +37,6 @@
namespace XLS
{
class CFRecord;
class CFVO : public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(CFVO)
......
......@@ -36,8 +36,6 @@
namespace XLS
{
class CFRecord;
class CFVOParsedFormula : public ParsedFormula
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(CFVOParsedFormula)
......
......@@ -36,8 +36,6 @@
namespace XLS
{
class CFRecord;
class ChartNumNillable : public BiffAttribute
{
public:
......
......@@ -37,8 +37,6 @@
namespace XLS
{
class CFRecord;
class ChartParsedFormula : public ParsedFormula
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(ChartParsedFormula)
......
......@@ -37,8 +37,6 @@
namespace OSHARED
{
class CFRecord;
class CompositeMoniker : public XLS::BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(CompositeMoniker)
......
......@@ -37,8 +37,6 @@
namespace XLS
{
class CFRecord;
class CondFmtStructure : public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(CondFmtStructure)
......
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "ConnGrbitDbtAdo.h"
namespace XLS
{
BiffStructurePtr ConnGrbitDbtAdo::clone()
{
return BiffStructurePtr(new ConnGrbitDbtAdo(*this));
}
void ConnGrbitDbtAdo::load(CFRecord& record)
{
unsigned short flags;
record >> flags;
fAdoRefreshable = GETBIT(flags, 1);
}
} // namespace XLS
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffStructure.h"
namespace XLS
{
class ConnGrbitDbtAdo: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(ConnGrbitDbtAdo)
public:
BiffStructurePtr clone();
ConnGrbitDbtAdo(){}
~ConnGrbitDbtAdo(){}
static const ElementType type = typeConnGrbitDbtAdo;
virtual void load(CFRecord& record);
bool fAdoRefreshable;
};
} // namespace XLS
\ No newline at end of file
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "ConnGrbitDbtOledb.h"
namespace XLS
{
BiffStructurePtr ConnGrbitDbtOledb::clone()
{
return BiffStructurePtr(new ConnGrbitDbtOledb(*this));
}
void ConnGrbitDbtOledb::load(CFRecord& record)
{
unsigned short flags;
record >> flags;
dbost = GETBITS(flags, 0, 2);
fLocalConn = GETBIT(flags, 3);
fNoRefreshCube = GETBIT(flags, 4);
fUseOfficeLcid = GETBIT(flags, 5);
fSrvFmtNum = GETBIT(flags, 6);
fSrvFmtBack = GETBIT(flags, 7);
fSrvFmtFore = GETBIT(flags, 8);
fSrvFmtFlags = GETBIT(flags, 9);
fSupportsLangCellProp = GETBIT(flags, 10);
fSrvSupportsClientCube = GETBIT(flags, 11);
}
} // namespace XLS
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffStructure.h"
namespace XLS
{
class ConnGrbitDbtOledb: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(ConnGrbitDbtOledb)
public:
BiffStructurePtr clone();
ConnGrbitDbtOledb(){}
~ConnGrbitDbtOledb(){}
static const ElementType type = typeConnGrbitDbtOledb;
virtual void load(CFRecord& record);
unsigned char dbost;
bool fLocalConn;
bool fNoRefreshCube;
bool fUseOfficeLcid;
bool fSrvFmtNum;
bool fSrvFmtBack;
bool fSrvFmtFore;
bool fSrvFmtFlags;
bool fSupportsLangCellProp;
bool fSrvSupportsClientCube;
};
} // namespace XLS
\ No newline at end of file
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "ConnGrbitDbtWeb.h"
namespace XLS
{
BiffStructurePtr ConnGrbitDbtWeb::clone()
{
return BiffStructurePtr(new ConnGrbitDbtWeb(*this));
}
void ConnGrbitDbtWeb::load(CFRecord& record)
{
unsigned short flags;
record >> flags;
fParsePreFormatted = GETBIT(flags, 0);
fConsecDelim = GETBIT(flags, 1);
fSameSettings = GETBIT(flags, 2);
fXL97Format = GETBIT(flags, 3);
fNoDateRecog = GETBIT(flags, 4);
fRefreshedInXl9 = GETBIT(flags, 5);
}
} // namespace XLS
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffStructure.h"
namespace XLS
{
class ConnGrbitDbtWeb: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(ConnGrbitDbtWeb)
public:
BiffStructurePtr clone();
ConnGrbitDbtWeb(){}
~ConnGrbitDbtWeb(){}
static const ElementType type = typeConnGrbitDbtWeb;
virtual void load(CFRecord& record);
bool fParsePreFormatted;
bool fConsecDelim;
bool fSameSettings;
bool fXL97Format;
bool fNoDateRecog;
bool fRefreshedInXl9;
};
} // namespace XLS
\ No newline at end of file
......@@ -31,14 +31,11 @@
*/
#pragma once
#include <Logic/Biff_records/BiffRecord.h>
#include <Logic/Biff_structures/BiffString.h>
#include "BiffString.h"
namespace XLS
{
class CFRecord;
class ControlInfo : public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(ControlInfo)
......
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "DConnConnectionOleDb.h"
#include "BiffString.h"
#include "../Biff_records/SXStreamID.h"
namespace XLS
{
BiffStructurePtr DConnConnectionOleDb::clone()
{
return BiffStructurePtr(new DConnConnectionOleDb(*this));
}
DConnConnectionOleDb::DConnConnectionOleDb()
{
}
DConnConnectionOleDb::~DConnConnectionOleDb()
{
}
void DConnConnectionOleDb::load(CFRecord& record)
{
record >> nDrillthroughRows >> cOleDb;
for (unsigned short i = 0; i < cOleDb; i++)
{
unsigned short val;
record >> val;
rgIOleDbValid.push_back(val);
}
int skip_unused = 2 * (4 - cOleDb) + 2;
record.skipNunBytes(skip_unused);
for (unsigned short i = 0; i < cOleDb; i++)
{
XLUnicodeStringSegmented val;
record >> val;
rgConn.push_back(val);
}}
} // namespace XLS
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffString.h"
namespace XLS
{
class DConnConnectionOleDb: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(DConnConnectionOleDb)
public:
BiffStructurePtr clone();
DConnConnectionOleDb();
~DConnConnectionOleDb();
static const ElementType type = typeDConnConnectionOleDb;
virtual void load(CFRecord& record);
_UINT32 nDrillthroughRows;
unsigned short cOleDb;
std::vector<unsigned short> rgIOleDbValid;
//rgIOleDbInvalid; //size in bytes = 2 * (4 – cOleDb)
std::vector<XLUnicodeStringSegmented> rgConn;
};
} // namespace XLS
\ No newline at end of file
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "DConnConnectionWeb.h"
#include "BiffString.h"
#include "../Biff_records/SXStreamID.h"
namespace XLS
{
BiffStructurePtr DConnConnectionWeb::clone()
{
return BiffStructurePtr(new DConnConnectionWeb(*this));
}
DConnConnectionWeb::DConnConnectionWeb()
{
}
DConnConnectionWeb::~DConnConnectionWeb()
{
}
void DConnConnectionWeb::load(CFRecord& record)
{
record >> rgbURL >> rgbWebPost;
}
} // namespace XLS
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "DConnStringSequence.h"
namespace XLS
{
class DConnConnectionWeb: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(DConnConnectionWeb)
public:
BiffStructurePtr clone();
DConnConnectionWeb();
~DConnConnectionWeb();
static const ElementType type = typeDConnConnectionWeb;
virtual void load(CFRecord& record);
DConnStringSequence rgbURL;
DConnStringSequence rgbWebPost;
};
} // namespace XLS
\ No newline at end of file
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "DConnId.h"
namespace XLS
{
BiffStructurePtr DConnId::clone()
{
return BiffStructurePtr(new DConnId(*this));
}
DConnId::DConnId()
{
}
DConnId::~DConnId()
{
}
void DConnId::load(CFRecord& record)
{
record >> bType;
switch(bType)
{
case 1: record >> string; break;
case 2: sxStreamID.readFields(record); break;
}
}
} // namespace XLS
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffString.h"
#include "../Biff_records/SXStreamID.h"
namespace XLS
{
class DConnId: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(DConnId)
public:
BiffStructurePtr clone();
DConnId();
~DConnId();
static const ElementType type = typeDConnId;
virtual void load(CFRecord& record);
unsigned char bType;
XLUnicodeStringSegmented string;
SXStreamID sxStreamID;
};
} // namespace XLS
\ No newline at end of file
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "DConnParamBindingValType.h"
#include "BiffString.h"
#include "Xnum.h"
namespace XLS
{
BiffStructurePtr DConnParamBindingValType::clone()
{
return BiffStructurePtr(new DConnParamBindingValType(*this));
}
void DConnParamBindingValType::load(CFRecord& record)
{
record >> wBindingValueGrbit;
switch(wBindingValueGrbit)
{
case 0x0001: rgbBindingValue.reset(new Xnum); break;
case 0x0002: rgbBindingValue.reset(new XLUnicodeStringSegmented); break;
case 0x0004: rgbBindingValue.reset(new DConnParamBindingValByte); break;
case 0x0800: rgbBindingValue.reset(new DConnParamBindingValInt); break;
}
if (rgbBindingValue)
{
record >> *rgbBindingValue;
}
}
//-----------------------------------------------------------------------------------
BiffStructurePtr DConnParamBindingValByte::clone()
{
return BiffStructurePtr(new DConnParamBindingValByte(*this));
}
void DConnParamBindingValByte::load(CFRecord& record)
{
unsigned char reserved1;
unsigned short reserved2;
_UINT32 reserved3;
record >> fVal >> reserved1 >> reserved2 >> reserved3;
}
//-----------------------------------------------------------------------------------
BiffStructurePtr DConnParamBindingValInt::clone()
{
return BiffStructurePtr(new DConnParamBindingValInt(*this));
}
void DConnParamBindingValInt::load(CFRecord& record)
{
_UINT32 reserved;
record >> val >> reserved;
}
} // namespace XLS
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffStructure.h"
namespace XLS
{
class DConnParamBindingValType: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(DConnParamBindingValType)
public:
BiffStructurePtr clone();
DConnParamBindingValType(){}
~DConnParamBindingValType(){}
static const ElementType type = typeDConnParamBindingValType;
virtual void load(CFRecord& record);
unsigned short wBindingValueGrbit;
BiffStructurePtr rgbBindingValue;
};
class DConnParamBindingValByte: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(DConnParamBindingValByte)
public:
BiffStructurePtr clone();
DConnParamBindingValByte(){}
~DConnParamBindingValByte(){}
static const ElementType type = typeDConnParamBindingValByte;
virtual void load(CFRecord& record);
unsigned char fVal;
};
class DConnParamBindingValInt: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(DConnParamBindingValInt)
public:
BiffStructurePtr clone();
DConnParamBindingValInt(){}
~DConnParamBindingValInt(){}
static const ElementType type = typeDConnParamBindingValInt;
virtual void load(CFRecord& record);
_UINT32 val;
};
} // namespace XLS
\ No newline at end of file
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "DConnParameter.h"
#include <Binary/CFRecord.h>
#include "DConnParamBindingValType.h"
namespace XLS
{
BiffStructurePtr DConnParameter::clone()
{
return BiffStructurePtr(new DConnParameter(*this));
}
DConnParameter::DConnParameter()
{
}
DConnParameter::~DConnParameter()
{
}
void DConnParameter::load(CFRecord& record)
{
unsigned short flags1, flags2;
record >> rgchName >> flags1 >> wTypeSql >> flags2;
pbt = GETBITS(flags1, 0, 2);
fDefaultName = GETBIT(flags2, 0);
switch(pbt)
{
case 0: paramBinding.reset(new XLUnicodeStringSegmented); break;
case 1: paramBinding.reset(new DConnParamBindingValType); break;
}
if (paramBinding)
{
record >> *paramBinding;
}
}
} // namespace XLS
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffString.h"
namespace XLS
{
class DConnParameter: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(DConnParameter)
public:
BiffStructurePtr clone();
DConnParameter();
~DConnParameter();
static const ElementType type = typeDConnParameter;
virtual void load(CFRecord& record);
XLUnicodeStringSegmented rgchName;
unsigned char pbt;
short wTypeSql;// enum ODBCType
bool fDefaultName;
BiffStructurePtr paramBinding;
};
} // namespace XLS
\ No newline at end of file
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "DConnStringSequence.h"
#include "BiffString.h"
namespace XLS
{
BiffStructurePtr DConnStringSequence::clone()
{
return BiffStructurePtr(new DConnStringSequence(*this));
}
DConnStringSequence::DConnStringSequence()
{
}
DConnStringSequence::~DConnStringSequence()
{
}
void DConnStringSequence::load(CFRecord& record)
{
record >> cst;
for (unsigned short i = 0; i < cst; i++)
{
XLUnicodeStringSegmented val;
record >> val;
rgString.push_back(val);
}
}
} // namespace XLS
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffString.h"
namespace XLS
{
class DConnStringSequence: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(DConnStringSequence)
public:
BiffStructurePtr clone();
DConnStringSequence();
~DConnStringSequence();
static const ElementType type = typeDConnStringSequence;
virtual void load(CFRecord& record);
unsigned short cst;
std::vector<XLUnicodeStringSegmented> rgString;
};
} // namespace XLS
\ No newline at end of file
......@@ -36,8 +36,6 @@
namespace XLS
{
class CFRecord;
class DVParsedFormula : public ParsedFormula
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(DVParsedFormula)
......
......@@ -37,8 +37,6 @@
namespace CRYPTO
{
class CFRecord;
class EncryptionHeader : public XLS::BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(EncryptionHeader)
......
......@@ -36,7 +36,6 @@
namespace CRYPTO
{
XLS::BiffStructurePtr RC4CryptoAPIEncryptionHeader::clone()
{
return XLS::BiffStructurePtr(new RC4CryptoAPIEncryptionHeader(*this));
......
......@@ -31,17 +31,14 @@
*/
#pragma once
#include "BiffStructure.h"
#include "EncryptionHeaderFlags.h"
#include "EncryptionHeader.h"
#include "EncryptionVerifier.h"
#include <Logic/Biff_structures/BitMarkedStructs.h>
#include "RC4EncryptionHeader.h"
namespace CRYPTO
{
class CFRecord;
class RC4CryptoAPIEncryptionHeader : public XLS::BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(RC4CryptoAPIEncryptionHeader)
......
......@@ -32,11 +32,16 @@
#pragma once
#include "BiffStructure.h"
#include <Logic/Biff_structures/BitMarkedStructs.h>
#include "BitMarkedStructs.h"
#include "../../Crypt/RC4Crypt.h"
namespace CRYPTO
{
struct Version : public XLS::BiffStructure_NoVtbl
{
unsigned short vMajor;
unsigned short vMinor;
};
class RC4EncryptionHeader : public XLS::BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(RC4EncryptionHeader)
......
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffStructure.h"
namespace XLS
{
class TxtWf: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(TxORuns)
public:
BiffStructurePtr clone();
TxtWf();
~TxtWf();
static const ElementType type = typeTxtWf;
virtual void load(CFRecord& record);
_UINT32 fieldType;
_UINT32 fieldStart;
};
} // namespace XLS
\ No newline at end of file
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "TxtWf.h"
#include <Binary/CFRecord.h>
namespace XLS
{
BiffStructurePtr TxtWf::clone()
{
return BiffStructurePtr(new TxtWf(*this));
}
TxtWf::TxtWf()
{
}
TxtWf::~TxtWf()
{
}
void TxtWf::load(CFRecord& record)
{
record >> fieldType >> fieldStart;
}
} // namespace XLS
......@@ -32,14 +32,10 @@
#pragma once
#include "BiffStructure.h"
//#include <Logic/Biff_structures/Phs.h>
//#include <Logic/Biff_structures/BiffString.h>
namespace OSHARED
{
class CFRecord;
class URICreateFlags : public XLS::BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(URICreateFlags)
......@@ -52,7 +48,6 @@ public:
virtual void load(XLS::CFRecord& record);
bool createAllowRelative;
bool createAllowImplicitWildcardScheme;
bool createAllowImplicitFileScheme;
......
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "Xnum.h"
namespace XLS
{
BiffStructurePtr Xnum::clone()
{
return BiffStructurePtr(new Xnum(*this));
}
void Xnum::load(CFRecord& record)
{
record.loadAnyData(data);
}
} // namespace XLS
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../Biff_records/BiffRecord.h"
#include "BiffString.h"
namespace XLS
{
class Xnum : public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(Xnum)
public:
BiffStructurePtr clone();
static const ElementType type = typeXnum;
virtual void load(CFRecord& record);
union
{
struct
{
unsigned char Byte1;
unsigned char Byte2;
unsigned char Byte3;
unsigned char Byte4;
unsigned short type;
unsigned short fExprO;
};
double value;
} data;
};
} // namespace XLS
......@@ -106,6 +106,9 @@ enum ElementType
typeContinueFrt11,
typeContinueFrt12,
typeCountry,
typeConnGrbitDbtOledb,
typeConnGrbitDbtAdo,
typeConnGrbitDbtWeb,
typeCrErr,
typeCRN,
typeCrtLayout12,
......@@ -124,9 +127,17 @@ enum ElementType
typeDBQueryExt,
typeDCon,
typeDConBin,
typeDConn,
typeDConName,
typeDConRef,
typeDConn,
typeDConnConnectionOleDb,
typeDConnConnectionWeb,
typeDConnId,
typeDConnParameter,
typeDConnParamBindingValType,
typeDConnParamBindingValByte,
typeDConnParamBindingValInt,
typeDConnStringSequence,
typeDefaultRowHeight,
typeDefaultText,
typeDefColWidth,
......@@ -294,6 +305,7 @@ enum ElementType
typeStyleExt,
typeSupBook,
typeSurf,
typeStringSegmented,
typeStringSegmentedSXADDL,
typeSXAddl,
typeSXDI,
......@@ -338,6 +350,7 @@ enum ElementType
typeTopMargin,
typeTxO,
typeTxtQry,
typeTxtWf,
typeUncalced,
typeUnits,
typeUserBView,
......@@ -631,6 +644,7 @@ enum ElementType
typeXLUnicodeRichExtendedString,
typeXORObfuscation,
typeXTI,
typeXnum,
typeIMsoArray,
typeMSOCR,
......
......@@ -585,6 +585,17 @@ SOURCES += \
../XlsFormat/Logic/Biff_structures/SxAxis.cpp \
../XlsFormat/Logic/Biff_structures/SXVIFlags.cpp \
../XlsFormat/Logic/Biff_structures/HiddenMemberSet.cpp \
../XlsFormat/Logic/Biff_structures/ConnGrbitDbtAdo.cpp \
../XlsFormat/Logic/Biff_structures/ConnGrbitDbtOledb.cpp \
../XlsFormat/Logic/Biff_structures/ConnGrbitDbtWeb.cpp \
../XlsFormat/Logic/Biff_structures/DConnConnectionOleDb.cpp \
../XlsFormat/Logic/Biff_structures/DConnConnectionWeb.cpp \
../XlsFormat/Logic/Biff_structures/DConnId.cpp \
../XlsFormat/Logic/Biff_structures/DConnParamBindingValType.cpp \
../XlsFormat/Logic/Biff_structures/DConnParameter.cpp \
../XlsFormat/Logic/Biff_structures/DConnStringSequence.cpp \
../XlsFormat/Logic/Biff_structures/TxtWf.cpp \
../XlsFormat/Logic/Biff_structures/Xnum.cpp \
../XlsFormat/Logic/Biff_structures/ODRAW/MSOCR.cpp \
../XlsFormat/Logic/Biff_structures/ODRAW/MSOSHADECOLOR.cpp \
../XlsFormat/Logic/Biff_structures/ODRAW/OfficeArtBlip.cpp \
......@@ -1370,6 +1381,17 @@ HEADERS += \
../XlsFormat/Logic/Biff_structures/SxAxis.h \
../XlsFormat/Logic/Biff_structures/SXVIFlags.h \
../XlsFormat/Logic/Biff_structures/HiddenMemberSet.h \
../XlsFormat/Logic/Biff_structures/ConnGrbitDbtAdo.h \
../XlsFormat/Logic/Biff_structures/ConnGrbitDbtOledb.h \
../XlsFormat/Logic/Biff_structures/ConnGrbitDbtWeb.h \
../XlsFormat/Logic/Biff_structures/DConnConnectionOleDb.h \
../XlsFormat/Logic/Biff_structures/DConnConnectionWeb.h \
../XlsFormat/Logic/Biff_structures/DConnId.h \
../XlsFormat/Logic/Biff_structures/DConnParamBindingValType.h \
../XlsFormat/Logic/Biff_structures/DConnParameter.h \
../XlsFormat/Logic/Biff_structures/DConnStringSequence.h \
../XlsFormat/Logic/Biff_structures/TxtWf.h \
../XlsFormat/Logic/Biff_structures/Xnum.h \
../XlsFormat/Logic/Biff_structures/ODRAW/IMsoArray.h \
../XlsFormat/Logic/Biff_structures/ODRAW/MSOCR.h \
../XlsFormat/Logic/Biff_structures/ODRAW/MSO_enums.h \
......
......@@ -754,3 +754,14 @@
#include "../XlsFormat/Logic/Biff_structures/SxAxis.cpp"
#include "../XlsFormat/Logic/Biff_structures/SXVIFlags.cpp"
#include "../XlsFormat/Logic/Biff_structures/HiddenMemberSet.cpp"
#include "../XlsFormat/Logic/Biff_structures/ConnGrbitDbtAdo.cpp"
#include "../XlsFormat/Logic/Biff_structures/ConnGrbitDbtOledb.cpp"
#include "../XlsFormat/Logic/Biff_structures/ConnGrbitDbtWeb.cpp"
#include "../XlsFormat/Logic/Biff_structures/DConnConnectionOleDb.cpp"
#include "../XlsFormat/Logic/Biff_structures/DConnConnectionWeb.cpp"
#include "../XlsFormat/Logic/Biff_structures/DConnId.cpp"
#include "../XlsFormat/Logic/Biff_structures/DConnParamBindingValType.cpp"
#include "../XlsFormat/Logic/Biff_structures/DConnParameter.cpp"
#include "../XlsFormat/Logic/Biff_structures/DConnStringSequence.cpp"
#include "../XlsFormat/Logic/Biff_structures/TxtWf.cpp"
#include "../XlsFormat/Logic/Biff_structures/Xnum.cpp"
......@@ -3249,6 +3249,30 @@
RelativePath="..\XlsFormat\Logic\Biff_structures\CondFmtStructure.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\ConnGrbitDbtAdo.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\ConnGrbitDbtAdo.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\ConnGrbitDbtOledb.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\ConnGrbitDbtOledb.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\ConnGrbitDbtWeb.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\ConnGrbitDbtWeb.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\ControlInfo.cpp"
>
......@@ -3257,6 +3281,54 @@
RelativePath="..\XlsFormat\Logic\Biff_structures\ControlInfo.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnConnectionOleDb.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnConnectionOleDb.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnConnectionWeb.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnConnectionWeb.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnId.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnId.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnParamBindingValType.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnParamBindingValType.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnParameter.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnParameter.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnStringSequence.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DConnStringSequence.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\DropDownObjId.cpp"
>
......@@ -4737,6 +4809,14 @@
RelativePath="..\XlsFormat\Logic\Biff_structures\TxORuns.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\TxtWf.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\TxtWF.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\URICreateFlags.cpp"
>
......@@ -4833,6 +4913,14 @@
RelativePath="..\XlsFormat\Logic\Biff_structures\XLUnicodeRichExtendedString.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\Xnum.cpp"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\Xnum.h"
>
</File>
<File
RelativePath="..\XlsFormat\Logic\Biff_structures\XORObfuscation.cpp"
>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment