olesvr32: Make olesvr.dll into a stand-alone 16-bit module.
This commit is contained in:
parent
7c28860170
commit
b12965ceaa
|
@ -83,7 +83,6 @@ dlls/oleaut32/tests/test_tlb.tlb
|
|||
dlls/oleaut32/tests/tmarshal.h
|
||||
dlls/oleaut32/tests/tmarshal.tlb
|
||||
dlls/oleaut32/tests/tmarshal_i.c
|
||||
dlls/olesvr.dll16
|
||||
dlls/qmgr/qmgr_local.h
|
||||
dlls/qmgr/qmgr_local_i.c
|
||||
dlls/qmgrprxy/qmgrprxy.h
|
||||
|
|
|
@ -3912,6 +3912,7 @@ then
|
|||
enable_mouse_drv16=${enable_mouse_drv16:-no}
|
||||
enable_msacm_dll16=${enable_msacm_dll16:-no}
|
||||
enable_olecli_dll16=${enable_olecli_dll16:-no}
|
||||
enable_olesvr_dll16=${enable_olesvr_dll16:-no}
|
||||
enable_stress_dll16=${enable_stress_dll16:-no}
|
||||
enable_vdhcp_vxd=${enable_vdhcp_vxd:-no}
|
||||
enable_vmm_vxd=${enable_vmm_vxd:-no}
|
||||
|
@ -26553,6 +26554,14 @@ ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
|
|||
dlls/olepro32/Makefile: dlls/olepro32/Makefile.in dlls/Makedll.rules"
|
||||
ac_config_files="$ac_config_files dlls/olepro32/Makefile"
|
||||
|
||||
ALL_MAKEFILES="$ALL_MAKEFILES \\
|
||||
dlls/olesvr.dll16/Makefile"
|
||||
test "x$enable_olesvr_dll16" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
|
||||
olesvr.dll16"
|
||||
ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
|
||||
dlls/olesvr.dll16/Makefile: dlls/olesvr.dll16/Makefile.in dlls/Makedll.rules"
|
||||
ac_config_files="$ac_config_files dlls/olesvr.dll16/Makefile"
|
||||
|
||||
ALL_MAKEFILES="$ALL_MAKEFILES \\
|
||||
dlls/olesvr32/Makefile"
|
||||
test "x$enable_olesvr32" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
|
||||
|
@ -29182,6 +29191,7 @@ do
|
|||
"dlls/olecli32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/olecli32/Makefile" ;;
|
||||
"dlls/oledlg/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/oledlg/Makefile" ;;
|
||||
"dlls/olepro32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/olepro32/Makefile" ;;
|
||||
"dlls/olesvr.dll16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/olesvr.dll16/Makefile" ;;
|
||||
"dlls/olesvr32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/olesvr32/Makefile" ;;
|
||||
"dlls/olethk32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/olethk32/Makefile" ;;
|
||||
"dlls/opengl32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/opengl32/Makefile" ;;
|
||||
|
|
|
@ -149,6 +149,7 @@ then
|
|||
enable_mouse_drv16=${enable_mouse_drv16:-no}
|
||||
enable_msacm_dll16=${enable_msacm_dll16:-no}
|
||||
enable_olecli_dll16=${enable_olecli_dll16:-no}
|
||||
enable_olesvr_dll16=${enable_olesvr_dll16:-no}
|
||||
enable_stress_dll16=${enable_stress_dll16:-no}
|
||||
enable_vdhcp_vxd=${enable_vdhcp_vxd:-no}
|
||||
enable_vmm_vxd=${enable_vmm_vxd:-no}
|
||||
|
@ -2151,6 +2152,7 @@ WINE_CONFIG_MAKEFILE([dlls/olecli.dll16/Makefile],[dlls/Makedll.rules],[dlls],[A
|
|||
WINE_CONFIG_MAKEFILE([dlls/olecli32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
|
||||
WINE_CONFIG_MAKEFILE([dlls/oledlg/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
|
||||
WINE_CONFIG_MAKEFILE([dlls/olepro32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
|
||||
WINE_CONFIG_MAKEFILE([dlls/olesvr.dll16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
|
||||
WINE_CONFIG_MAKEFILE([dlls/olesvr32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
|
||||
WINE_CONFIG_MAKEFILE([dlls/olethk32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
|
||||
WINE_CONFIG_MAKEFILE([dlls/opengl32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
|
||||
|
|
|
@ -35,7 +35,6 @@ WIN16_FILES = \
|
|||
ole2nls.dll16 \
|
||||
ole2prox.dll16 \
|
||||
ole2thk.dll16 \
|
||||
olesvr.dll16 \
|
||||
rasapi16.dll16 \
|
||||
setupx.dll16 \
|
||||
shell.dll16 \
|
||||
|
@ -92,9 +91,6 @@ compobj.dll16 ole2.dll16 ole2conv.dll16 ole2nls.dll16 ole2prox.dll16 ole2thk.dll
|
|||
ole2disp.dll16 typelib.dll16:
|
||||
echo "oleaut32.dll" >$@
|
||||
|
||||
olesvr.dll16:
|
||||
echo "olesvr32.dll" >$@
|
||||
|
||||
rasapi16.dll16:
|
||||
echo "rasapi32.dll" >$@
|
||||
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
TOPSRCDIR = @top_srcdir@
|
||||
TOPOBJDIR = ../..
|
||||
SRCDIR = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
MODULE = olesvr.dll16
|
||||
IMPORTS = gdi32 kernel32
|
||||
EXTRADLLFLAGS = -Wb,--subsystem,win16,--main-module,olesvr32.dll
|
||||
|
||||
SPEC_SRCS = olesvr.dll16.spec
|
||||
|
||||
C_SRCS = olesvr.c
|
||||
|
||||
@MAKE_DLL_RULES@
|
||||
|
||||
@DEPENDENCIES@ # everything below this line is overwritten by make depend
|
|
@ -0,0 +1,226 @@
|
|||
/*
|
||||
* OLESVR library
|
||||
*
|
||||
* Copyright 1995 Martin von Loewis
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
/* At the moment, these are only empty stubs.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wine/windef16.h"
|
||||
#include "objbase.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(ole);
|
||||
|
||||
typedef enum
|
||||
{
|
||||
OLE_OK,
|
||||
OLE_WAIT_FOR_RELEASE,
|
||||
OLE_BUSY,
|
||||
OLE_ERROR_PROTECT_ONLY,
|
||||
OLE_ERROR_MEMORY,
|
||||
OLE_ERROR_STREAM,
|
||||
OLE_ERROR_STATIC,
|
||||
OLE_ERROR_BLANK,
|
||||
OLE_ERROR_DRAW,
|
||||
OLE_ERROR_METAFILE,
|
||||
OLE_ERROR_ABORT,
|
||||
OLE_ERROR_CLIPBOARD,
|
||||
OLE_ERROR_FORMAT,
|
||||
OLE_ERROR_OBJECT,
|
||||
OLE_ERROR_OPTION,
|
||||
OLE_ERROR_PROTOCOL,
|
||||
OLE_ERROR_ADDRESS,
|
||||
OLE_ERROR_NOT_EQUAL,
|
||||
OLE_ERROR_HANDLE,
|
||||
OLE_ERROR_GENERIC,
|
||||
OLE_ERROR_CLASS,
|
||||
OLE_ERROR_SYNTAX,
|
||||
OLE_ERROR_DATATYPE,
|
||||
OLE_ERROR_PALETTE,
|
||||
OLE_ERROR_NOT_LINK,
|
||||
OLE_ERROR_NOT_EMPTY,
|
||||
OLE_ERROR_SIZE,
|
||||
OLE_ERROR_DRIVE,
|
||||
OLE_ERROR_NETWORK,
|
||||
OLE_ERROR_NAME,
|
||||
OLE_ERROR_TEMPLATE,
|
||||
OLE_ERROR_NEW,
|
||||
OLE_ERROR_EDIT,
|
||||
OLE_ERROR_OPEN,
|
||||
OLE_ERROR_NOT_OPEN,
|
||||
OLE_ERROR_LAUNCH,
|
||||
OLE_ERROR_COMM,
|
||||
OLE_ERROR_TERMINATE,
|
||||
OLE_ERROR_COMMAND,
|
||||
OLE_ERROR_SHOW,
|
||||
OLE_ERROR_DOVERB,
|
||||
OLE_ERROR_ADVISE_NATIVE,
|
||||
OLE_ERROR_ADVISE_PICT,
|
||||
OLE_ERROR_ADVISE_RENAME,
|
||||
OLE_ERROR_POKE_NATIVE,
|
||||
OLE_ERROR_REQUEST_NATIVE,
|
||||
OLE_ERROR_REQUEST_PICT,
|
||||
OLE_ERROR_SERVER_BLOCKED,
|
||||
OLE_ERROR_REGISTRATION,
|
||||
OLE_ERROR_ALREADY_REGISTERED,
|
||||
OLE_ERROR_TASK,
|
||||
OLE_ERROR_OUTOFDATE,
|
||||
OLE_ERROR_CANT_UPDATE_CLIENT,
|
||||
OLE_ERROR_UPDATE,
|
||||
OLE_ERROR_SETDATA_FORMAT,
|
||||
OLE_ERROR_STATIC_FROM_OTHER_OS,
|
||||
OLE_WARN_DELETE_DATA = 1000
|
||||
} OLESTATUS;
|
||||
|
||||
typedef enum {
|
||||
OLE_SERVER_MULTI,
|
||||
OLE_SERVER_SINGLE
|
||||
} OLE_SERVER_USE;
|
||||
|
||||
typedef LONG LHSERVER;
|
||||
typedef LONG LHSERVERDOC;
|
||||
typedef LPCSTR LPCOLESTR16;
|
||||
|
||||
typedef struct _OLESERVERDOC *LPOLESERVERDOC;
|
||||
|
||||
struct _OLESERVERDOCVTBL;
|
||||
typedef struct _OLESERVERDOC
|
||||
{
|
||||
const struct _OLESERVERDOCVTBL *lpvtbl;
|
||||
/* server provided state info */
|
||||
} OLESERVERDOC;
|
||||
|
||||
typedef struct _OLESERVER *LPOLESERVER;
|
||||
typedef struct _OLESERVERVTBL
|
||||
{
|
||||
OLESTATUS (CALLBACK *Open)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPOLESERVERDOC *);
|
||||
OLESTATUS (CALLBACK *Create)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC*);
|
||||
OLESTATUS (CALLBACK *CreateFromTemplate)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
|
||||
OLESTATUS (CALLBACK *Edit)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
|
||||
OLESTATUS (CALLBACK *Exit)(LPOLESERVER);
|
||||
OLESTATUS (CALLBACK *Release)(LPOLESERVER);
|
||||
OLESTATUS (CALLBACK *Execute)(LPOLESERVER);
|
||||
} OLESERVERVTBL, *LPOLESERVERVTBL;
|
||||
|
||||
typedef struct _OLESERVER
|
||||
{
|
||||
const OLESERVERVTBL *lpvtbl;
|
||||
/* server specific data */
|
||||
} OLESERVER;
|
||||
|
||||
static LONG OLE_current_handle;
|
||||
|
||||
/******************************************************************************
|
||||
* OleRegisterServer [OLESVR.2]
|
||||
*/
|
||||
OLESTATUS WINAPI OleRegisterServer16( LPCSTR name, LPOLESERVER serverStruct,
|
||||
LHSERVER *hRet, HINSTANCE16 hServer,
|
||||
OLE_SERVER_USE use )
|
||||
{
|
||||
FIXME("(%s,...): stub\n",name);
|
||||
*hRet=++OLE_current_handle;
|
||||
/* return OLE_ERROR_MEMORY, OLE_ERROR_PROTECT_ONLY if you want it fail*/
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRevokeServer [OLESVR.3]
|
||||
*/
|
||||
OLESTATUS WINAPI OleRevokeServer16(LHSERVER hServer)
|
||||
{
|
||||
FIXME("%d - stub\n",hServer);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleBlockServer [OLESVR.4]
|
||||
*/
|
||||
OLESTATUS WINAPI OleBlockServer16(LHSERVER hServer)
|
||||
{
|
||||
FIXME("(%d): stub\n",hServer);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleUnblockServer [OLESVR.5]
|
||||
*/
|
||||
OLESTATUS WINAPI OleUnblockServer16(LHSERVER hServer, BOOL16 *block)
|
||||
{
|
||||
FIXME("(%d): stub\n",hServer);
|
||||
/* no more blocked messages :) */
|
||||
*block=FALSE;
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleRegisterServerDoc [OLESVR.6]
|
||||
*/
|
||||
OLESTATUS WINAPI OleRegisterServerDoc16( LHSERVER hServer, LPCSTR docname,
|
||||
LPOLESERVERDOC document,
|
||||
LHSERVERDOC *hRet)
|
||||
{
|
||||
FIXME("(%d,%s): stub\n",hServer, docname);
|
||||
*hRet=++OLE_current_handle;
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRevokeServerDoc [OLESVR.7]
|
||||
*/
|
||||
OLESTATUS WINAPI OleRevokeServerDoc16(LHSERVERDOC hServerDoc)
|
||||
{
|
||||
FIXME("%d - stub\n",hServerDoc);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRenameServerDoc [OLESVR.8]
|
||||
*
|
||||
*/
|
||||
OLESTATUS WINAPI OleRenameServerDoc16(LHSERVERDOC hDoc, LPCSTR newName)
|
||||
{
|
||||
FIXME("(%d,%s): stub.\n", hDoc, newName);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRevertServerDoc [OLESVR.9]
|
||||
*
|
||||
*/
|
||||
OLESTATUS WINAPI OleRevertServerDoc16(LHSERVERDOC hDoc)
|
||||
{
|
||||
FIXME("(%d): stub.\n", hDoc);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleSavedServerDoc [OLESVR.10]
|
||||
*
|
||||
*/
|
||||
OLESTATUS WINAPI OleSavedServerDoc16(LHSERVERDOC hDoc)
|
||||
{
|
||||
FIXME("(%d): stub.\n", hDoc);
|
||||
return OLE_OK;
|
||||
}
|
|
@ -9,8 +9,6 @@ IMPORTS = kernel32
|
|||
C_SRCS = \
|
||||
olesvr_main.c
|
||||
|
||||
SPEC_SRCS16 = olesvr.spec
|
||||
|
||||
@MAKE_DLL_RULES@
|
||||
|
||||
@DEPENDENCIES@ # everything below this line is overwritten by make depend
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wine/windef16.h"
|
||||
#include "objbase.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
|
@ -132,28 +131,6 @@ typedef struct _OLESERVER
|
|||
|
||||
static LONG OLE_current_handle;
|
||||
|
||||
/******************************************************************************
|
||||
* OleRegisterServer [OLESVR.2]
|
||||
*/
|
||||
OLESTATUS WINAPI OleRegisterServer16( LPCSTR name, LPOLESERVER serverStruct,
|
||||
LHSERVER *hRet, HINSTANCE16 hServer,
|
||||
OLE_SERVER_USE use )
|
||||
{
|
||||
FIXME("(%s,...): stub\n",name);
|
||||
*hRet=++OLE_current_handle;
|
||||
/* return OLE_ERROR_MEMORY, OLE_ERROR_PROTECT_ONLY if you want it fail*/
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleBlockServer [OLESVR.4]
|
||||
*/
|
||||
OLESTATUS WINAPI OleBlockServer16(LHSERVER hServer)
|
||||
{
|
||||
FIXME("(%d): stub\n",hServer);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleBlockServer [OLESVR32.4]
|
||||
*/
|
||||
|
@ -163,17 +140,6 @@ OLESTATUS WINAPI OleBlockServer(LHSERVER hServer)
|
|||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleUnblockServer [OLESVR.5]
|
||||
*/
|
||||
OLESTATUS WINAPI OleUnblockServer16(LHSERVER hServer, BOOL16 *block)
|
||||
{
|
||||
FIXME("(%d): stub\n",hServer);
|
||||
/* no more blocked messages :) */
|
||||
*block=FALSE;
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleUnblockServer [OLESVR32.5]
|
||||
*/
|
||||
|
@ -185,27 +151,6 @@ OLESTATUS WINAPI OleUnblockServer(LHSERVER hServer, BOOL *block)
|
|||
return OLE_OK;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* OleRegisterServerDoc [OLESVR.6]
|
||||
*/
|
||||
OLESTATUS WINAPI OleRegisterServerDoc16( LHSERVER hServer, LPCSTR docname,
|
||||
LPOLESERVERDOC document,
|
||||
LHSERVERDOC *hRet)
|
||||
{
|
||||
FIXME("(%d,%s): stub\n",hServer, docname);
|
||||
*hRet=++OLE_current_handle;
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRevokeServerDoc [OLESVR.7]
|
||||
*/
|
||||
OLESTATUS WINAPI OleRevokeServerDoc16(LHSERVERDOC hServerDoc)
|
||||
{
|
||||
FIXME("%d - stub\n",hServerDoc);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRevokeServerDoc [OLESVR32.7]
|
||||
*/
|
||||
|
@ -215,15 +160,6 @@ OLESTATUS WINAPI OleRevokeServerDoc(LHSERVERDOC hServerDoc)
|
|||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRevokeServer [OLESVR.3]
|
||||
*/
|
||||
OLESTATUS WINAPI OleRevokeServer16(LHSERVER hServer)
|
||||
{
|
||||
FIXME("%d - stub\n",hServer);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRegisterServer [OLESVR32.2]
|
||||
*/
|
||||
|
@ -245,16 +181,6 @@ OLESTATUS WINAPI OleRegisterServerDoc( LHSERVER hServer, LPCSTR docname,
|
|||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRenameServerDoc [OLESVR.8]
|
||||
*
|
||||
*/
|
||||
OLESTATUS WINAPI OleRenameServerDoc16(LHSERVERDOC hDoc, LPCSTR newName)
|
||||
{
|
||||
FIXME("(%d,%s): stub.\n", hDoc, newName);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRenameServerDoc [OLESVR32.8]
|
||||
*
|
||||
|
@ -265,16 +191,6 @@ OLESTATUS WINAPI OleRenameServerDoc(LHSERVERDOC hDoc, LPCSTR newName)
|
|||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRevertServerDoc [OLESVR.9]
|
||||
*
|
||||
*/
|
||||
OLESTATUS WINAPI OleRevertServerDoc16(LHSERVERDOC hDoc)
|
||||
{
|
||||
FIXME("(%d): stub.\n", hDoc);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleRevertServerDoc [OLESVR32.9]
|
||||
*
|
||||
|
@ -285,16 +201,6 @@ OLESTATUS WINAPI OleRevertServerDoc(LHSERVERDOC hDoc)
|
|||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleSavedServerDoc [OLESVR.10]
|
||||
*
|
||||
*/
|
||||
OLESTATUS WINAPI OleSavedServerDoc16(LHSERVERDOC hDoc)
|
||||
{
|
||||
FIXME("(%d): stub.\n", hDoc);
|
||||
return OLE_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* OleSavedServerDoc [OLESVR32.10]
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue