include: Add IOpcFactory and related definitions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
b62d4ea6ed
commit
d504b02aca
|
@ -399,6 +399,7 @@ SOURCES = \
|
|||
msident.idl \
|
||||
msinkaut.idl \
|
||||
msiquery.h \
|
||||
msopc.idl \
|
||||
mssip.h \
|
||||
msstkppg.h \
|
||||
mstask.idl \
|
||||
|
@ -493,6 +494,9 @@ SOURCES = \
|
|||
oledberr.h \
|
||||
oledlg.h \
|
||||
oleidl.idl \
|
||||
opcbase.idl \
|
||||
opcobjectmodel.idl \
|
||||
opcparturi.idl \
|
||||
opnrst.idl \
|
||||
optary.idl \
|
||||
patchapi.h \
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
/*
|
||||
* Copyright 2018 Nikolay Sivov for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
import "unknwn.idl";
|
||||
import "ocidl.idl";
|
||||
|
||||
#include "opcbase.idl"
|
||||
#include "opcobjectmodel.idl"
|
||||
#include "opcparturi.idl"
|
||||
|
||||
#ifndef __WIDL__
|
||||
#define threading(model)
|
||||
#endif
|
||||
|
||||
interface IOpcUri;
|
||||
interface IOpcPartUri;
|
||||
interface IOpcPackage;
|
||||
interface IOpcDigitalSignatureManager;
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(6d0b4446-cd73-4ab3-94f4-8ccdf6116154),
|
||||
pointer_default(ref)
|
||||
]
|
||||
interface IOpcFactory : IUnknown
|
||||
{
|
||||
HRESULT CreatePackageRootUri(
|
||||
[out, retval] IOpcUri **uri
|
||||
);
|
||||
|
||||
HRESULT CreatePartUri(
|
||||
[in, string] LPCWSTR uri,
|
||||
[out, retval] IOpcPartUri **part_uri
|
||||
);
|
||||
|
||||
[local]
|
||||
HRESULT CreateStreamOnFile(
|
||||
[in, string] LPCWSTR filename,
|
||||
[in] OPC_STREAM_IO_MODE io_mode,
|
||||
[in, unique] SECURITY_ATTRIBUTES *sa,
|
||||
[in] DWORD flags,
|
||||
[out, retval] IStream **stream
|
||||
);
|
||||
|
||||
HRESULT CreatePackage(
|
||||
[out, retval] IOpcPackage **package
|
||||
);
|
||||
|
||||
HRESULT ReadPackageFromStream(
|
||||
[in] IStream *stream,
|
||||
[in] OPC_READ_FLAGS flags,
|
||||
[out, retval] IOpcPackage **package
|
||||
);
|
||||
|
||||
HRESULT WritePackageToStream(
|
||||
[in] IOpcPackage *package,
|
||||
[in] OPC_WRITE_FLAGS flags,
|
||||
[in] IStream *stream
|
||||
);
|
||||
|
||||
HRESULT CreateDigitalSignatureManager(
|
||||
[in] IOpcPackage *package,
|
||||
[out, retval] IOpcDigitalSignatureManager **signature_manager
|
||||
);
|
||||
}
|
||||
|
||||
[
|
||||
threading(both),
|
||||
uuid(6b2d6Ba0-9f3e-4f27-920b-313cc426a39e)
|
||||
]
|
||||
coclass OpcFactory
|
||||
{
|
||||
interface IOpcFactory;
|
||||
};
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Copyright 2018 Nikolay Sivov for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#pragma makedep install
|
||||
#endif
|
||||
|
||||
typedef [v1_enum] enum
|
||||
{
|
||||
OPC_STREAM_IO_READ = 1,
|
||||
OPC_STREAM_IO_WRITE = 2,
|
||||
} OPC_STREAM_IO_MODE;
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Copyright 2018 Nikolay Sivov for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#pragma makedep install
|
||||
#endif
|
||||
|
||||
typedef [v1_enum] enum
|
||||
{
|
||||
OPC_READ_DEFAULT = 0,
|
||||
OPC_VALIDATE_ON_LOAD = 1,
|
||||
OPC_CACHE_ON_ACCESS = 2,
|
||||
} OPC_READ_FLAGS;
|
||||
|
||||
typedef [v1_enum] enum
|
||||
{
|
||||
OPC_WRITE_DEFAULT = 0,
|
||||
OPC_WRITE_FORCE_ZIP32 = 1,
|
||||
} OPC_WRITE_FLAGS;
|
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
* Copyright 2018 Nikolay Sivov for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
import "unknwn.idl";
|
||||
import "ocidl.idl";
|
||||
|
||||
#if 0
|
||||
#pragma makedep install
|
||||
#endif
|
||||
|
||||
interface IOpcPartUri;
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(bc9c1b9b-d62c-49eb-aef0-3b4e0b28ebed),
|
||||
nonextensible,
|
||||
pointer_default(ref)
|
||||
]
|
||||
interface IOpcUri : IUri
|
||||
{
|
||||
HRESULT GetRelationshipsPartUri(
|
||||
[out, retval] IOpcPartUri **part_uri
|
||||
);
|
||||
|
||||
HRESULT GetRelativeUri(
|
||||
[in] IOpcPartUri *part_uri,
|
||||
[out, retval] IUri **relative_uri
|
||||
);
|
||||
|
||||
HRESULT CombinePartUri(
|
||||
[in] IUri *relative_uri,
|
||||
[out, retval] IOpcPartUri **combined
|
||||
);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(7d3babe7-88b2-46ba-85cb-4203cb016c87),
|
||||
nonextensible,
|
||||
pointer_default(ref)
|
||||
]
|
||||
interface IOpcPartUri : IOpcUri
|
||||
{
|
||||
HRESULT ComparePartUri(
|
||||
[in] IOpcPartUri *part_uri,
|
||||
[out, retval] INT32 *result
|
||||
);
|
||||
|
||||
HRESULT GetSourceUri(
|
||||
[out, retval] IOpcUri **source_uri
|
||||
);
|
||||
|
||||
HRESULT IsRelationshipsPartUri(
|
||||
[out, retval] BOOL *result
|
||||
);
|
||||
}
|
Loading…
Reference in New Issue