Files
lib3mf/Include/Common/OPC/NMR_IOpcPackageWriter.h
SaraP f8c998f6ff lib3mf :
- primo commit.
2021-09-07 16:50:23 +02:00

30 lines
1.2 KiB
C++

#ifndef NMR_IOPCPACKAGEWRITER
#define NMR_IOPCPACKAGEWRITER
#include <memory>
#include <string>
#include <list>
#include "Common/NMR_Types.h"
#include "Common/NMR_Local.h"
namespace NMR {
class COpcPackageRelationship;
using POpcPackageRelationship = std::shared_ptr<COpcPackageRelationship>;
class COpcPackagePart;
using POpcPackagePart = std::shared_ptr<COpcPackagePart>;
class IOpcPackageWriter {
public:
virtual POpcPackagePart addPart(_In_ std::string sPath) = 0;
virtual void addContentType(_In_ std::string sExtension, _In_ std::string sContentType) = 0;
virtual void addContentType(_In_ POpcPackagePart pOpcPackagePart, _In_ std::string sContentType) = 0;
virtual POpcPackageRelationship addRootRelationship(_In_ std::string sType, _In_ COpcPackagePart * pTargetPart) = 0;
virtual POpcPackageRelationship addPartRelationship(_In_ POpcPackagePart pOpcPackagePart, _In_ std::string sType, _In_ COpcPackagePart * pTargetPart) = 0;
virtual std::list<POpcPackageRelationship> addWriterSpecificRelationships(_In_ POpcPackagePart pOpcPackagePart, _In_ COpcPackagePart* pTargetPart) = 0;
virtual void close() {}
};
using PIOpcPackageWriter = std::shared_ptr<IOpcPackageWriter>;
}
#endif // !NMR_IOPCPACKAGEWRITER