Skip to content

Commit

Permalink
Merge pull request #63 from mvrdevelopment/Bug-FIx-62-Library-doesnt-…
Browse files Browse the repository at this point in the history
…have-provider-providerVersion

Bug-FIx-62-Library-doesnt-have-provider-providerVersion
  • Loading branch information
adragnevVW authored Oct 24, 2024
2 parents 74db848 + 3c0df4d commit a9e3a15
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 6 deletions.
12 changes: 11 additions & 1 deletion src/Implementation/CMediaRessourceVectorImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ SceneData::SceneDataExchange* VectorworksMVR::CMediaRessourceVectorImpl::GetExch
return & fExchangeObj;
}


VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::AddFileToMvrFile(MvrString fullPath)
{
TXString strFullPath(fullPath);
Expand Down Expand Up @@ -74,6 +73,17 @@ VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::AddGdtfFold
return kVCOMError_NoError;
}

VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::AddProviderAndProviderVersion( MvrString provider, MvrString providerVersion )
{
TXString strProvider(provider);
TXString strProviderVersion(providerVersion);

fExchangeObj.AddProviderAndProviderVersion(strProvider, strProviderVersion);

return kVCOMError_NoError;

}

VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::OpenForWrite(MvrString fullPath)
{
//---------------------------------------------------------------------------
Expand Down
3 changes: 2 additions & 1 deletion src/Implementation/CMediaRessourceVectorImpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ namespace VectorworksMVR
virtual VCOMError VCOM_CALLTYPE AddGdtfFolderLocation(MvrString fullPathToFolder);
virtual VCOMError VCOM_CALLTYPE AddFileToMvrFile(MvrString fullPath);
virtual VCOMError VCOM_CALLTYPE AddBufferToMvrFile(MvrString filename, char* buffer, size_t length);

virtual VCOMError VCOM_CALLTYPE AddProviderAndProviderVersion( MvrString provider, MvrString providerVersion );

// After this you can generate Aux Objects
virtual VCOMError VCOM_CALLTYPE CreateDataProviderObject( MvrString provider, MvrString version, ISceneDataProvider** outSceneDataProvider);
virtual VCOMError VCOM_CALLTYPE CreatePositionObject( const MvrUUID& guid, MvrString name, IPosition** outPositionObj);
Expand Down
3 changes: 2 additions & 1 deletion src/Include/IMediaRessourceVectorInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,8 @@ namespace VectorworksMVR
virtual VCOMError VCOM_CALLTYPE AddGdtfFolderLocation(MvrString fullPathToFolder) = 0;
virtual VCOMError VCOM_CALLTYPE AddFileToMvrFile(MvrString fullPath) = 0;
virtual VCOMError VCOM_CALLTYPE AddBufferToMvrFile(MvrString filename, char* buffer, size_t length) = 0;

virtual VCOMError VCOM_CALLTYPE AddProviderAndProviderVersion( MvrString provider, MvrString providerVersion ) = 0;

// After this you can generate Aux Objects
virtual VCOMError VCOM_CALLTYPE CreateDataProviderObject( MvrString provider, MvrString version, ISceneDataProvider** outSceneDataProvider) = 0;
virtual VCOMError VCOM_CALLTYPE CreatePositionObject( const MvrUUID& guid, MvrString name, IPosition** outPositionObj) = 0;
Expand Down
2 changes: 2 additions & 0 deletions src/Prefix/CommonPrefix.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@
#define XML_Val_RootNodeName "GeneralSceneDescription"
#define XML_Val_RootAttrMainVersion "verMajor"
#define XML_Val_RootAttrMinorVersion "verMinor"
#define XML_Val_RootAttrProvider "provider"
#define XML_Val_RootAttrProviderVersion "providerVersion"

#define XML_Val_UserDataNodeName "UserData"
#define XML_Val_UserDataVWEntry "VWEntry"
Expand Down
12 changes: 10 additions & 2 deletions src/SceneDataExchange.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3377,6 +3377,12 @@ bool SceneDataExchange::WriteToFile(const IFileIdentifierPtr& file)
return true;
}

void SceneDataExchange::AddProviderAndProviderVersion(const TXString& provider, const TXString& providerVersion)
{
fProvider = provider;
fProviderVersion = providerVersion;
}

bool SceneDataExchange::WriteXml(const IFolderIdentifierPtr& folder, IXMLFileIOBufferImpl& outBuffer)
{

Expand All @@ -3395,8 +3401,10 @@ bool SceneDataExchange::WriteXml(const IFolderIdentifierPtr& folder, IXMLFileIOB
{
//-------------------------------------------------------------------------------------------------
// Set Version for the export Format
pDatabaseRoot->SetNodeAttributeValue(XML_Val_RootAttrMainVersion, TXString() << kMVR_MajorVersion);
pDatabaseRoot->SetNodeAttributeValue(XML_Val_RootAttrMinorVersion, TXString() << kMVR_MinorVersion);
pDatabaseRoot->SetNodeAttributeValue(XML_Val_RootAttrMainVersion, TXString() << kMVR_MajorVersion);
pDatabaseRoot->SetNodeAttributeValue(XML_Val_RootAttrMinorVersion, TXString() << kMVR_MinorVersion);
pDatabaseRoot->SetNodeAttributeValue(XML_Val_RootAttrProvider, fProvider);
pDatabaseRoot->SetNodeAttributeValue(XML_Val_RootAttrProviderVersion, fProviderVersion);


//-------------------------------------------------------------------------------------------------
Expand Down
5 changes: 4 additions & 1 deletion src/SceneDataExchange.h
Original file line number Diff line number Diff line change
Expand Up @@ -991,6 +991,8 @@ namespace SceneData

//
size_t fCountExportedGeometryProviders;
TXString fProvider;
TXString fProviderVersion;

//Duplicated Uuids flag
bool fDuplicatedUuids;
Expand Down Expand Up @@ -1068,7 +1070,8 @@ namespace SceneData
void AddFileToZip(const IFileIdentifierPtr& file, ERessourceType resType);
void AddBufferToZip(const TXString& fileName, ISceneDataZipBuffer* buffer);
void AddLocationForGdtfFiles(IFolderIdentifierPtr folder);

void AddProviderAndProviderVersion(const TXString& provider, const TXString& providerVersion );

private:

bool WriteXml(const IFolderIdentifierPtr& folder , IXMLFileIOBufferImpl& outBuffer);
Expand Down

0 comments on commit a9e3a15

Please sign in to comment.