Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
1ad86746
Commit
1ad86746
authored
Mar 18, 2010
by
Nikolay Sivov
Committed by
Alexandre Julliard
Mar 18, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
urlmon: Add stub IUriBuilder interface.
parent
926d3a88
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
378 additions
and
1 deletion
+378
-1
uri.c
dlls/urlmon/uri.c
+277
-1
urlmon.spec
dlls/urlmon/urlmon.spec
+1
-0
urlmon.idl
include/urlmon.idl
+100
-0
No files found.
dlls/urlmon/uri.c
View file @
1ad86746
...
...
@@ -26,7 +26,13 @@ typedef struct {
LONG
ref
;
}
Uri
;
#define URI(x) ((IUri*) &(x)->lpIUriVtbl)
typedef
struct
{
const
IUriBuilderVtbl
*
lpIUriBuilderVtbl
;
LONG
ref
;
}
UriBuilder
;
#define URI(x) ((IUri*) &(x)->lpIUriVtbl)
#define URIBUILDER(x) ((IUriBuilder*) &(x)->lpIUriBuilderVtbl)
#define URI_THIS(iface) DEFINE_THIS(Uri, IUri, iface)
...
...
@@ -300,3 +306,273 @@ HRESULT WINAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IU
*
ppURI
=
URI
(
ret
);
return
S_OK
;
}
#define URIBUILDER_THIS(iface) DEFINE_THIS(UriBuilder, IUriBuilder, iface)
static
HRESULT
WINAPI
UriBuilder_QueryInterface
(
IUriBuilder
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
if
(
IsEqualGUID
(
&
IID_IUnknown
,
riid
))
{
TRACE
(
"(%p)->(IID_IUnknown %p)
\n
"
,
This
,
ppv
);
*
ppv
=
URIBUILDER
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IUriBuilder
,
riid
))
{
TRACE
(
"(%p)->(IID_IUri %p)
\n
"
,
This
,
ppv
);
*
ppv
=
URIBUILDER
(
This
);
}
else
{
TRACE
(
"(%p)->(%s %p)
\n
"
,
This
,
debugstr_guid
(
riid
),
ppv
);
*
ppv
=
NULL
;
return
E_NOINTERFACE
;
}
IUnknown_AddRef
((
IUnknown
*
)
*
ppv
);
return
S_OK
;
}
static
ULONG
WINAPI
UriBuilder_AddRef
(
IUriBuilder
*
iface
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
LONG
ref
=
InterlockedIncrement
(
&
This
->
ref
);
TRACE
(
"(%p) ref=%d
\n
"
,
This
,
ref
);
return
ref
;
}
static
ULONG
WINAPI
UriBuilder_Release
(
IUriBuilder
*
iface
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
LONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
TRACE
(
"(%p) ref=%d
\n
"
,
This
,
ref
);
if
(
!
ref
)
heap_free
(
This
);
return
ref
;
}
static
HRESULT
WINAPI
UriBuilder_CreateUriSimple
(
IUriBuilder
*
iface
,
DWORD
dwAllowEncodingPropertyMask
,
DWORD_PTR
dwReserved
,
IUri
**
ppIUri
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%d %d %p)
\n
"
,
This
,
dwAllowEncodingPropertyMask
,
(
DWORD
)
dwReserved
,
ppIUri
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_CreateUri
(
IUriBuilder
*
iface
,
DWORD
dwCreateFlags
,
DWORD
dwAllowEncodingPropertyMask
,
DWORD_PTR
dwReserved
,
IUri
**
ppIUri
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(0x%08x %d %d %p)
\n
"
,
This
,
dwCreateFlags
,
dwAllowEncodingPropertyMask
,
(
DWORD
)
dwReserved
,
ppIUri
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_CreateUriWithFlags
(
IUriBuilder
*
iface
,
DWORD
dwCreateFlags
,
DWORD
dwUriBuilderFlags
,
DWORD
dwAllowEncodingPropertyMask
,
DWORD_PTR
dwReserved
,
IUri
**
ppIUri
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(0x%08x 0x%08x %d %d %p)
\n
"
,
This
,
dwCreateFlags
,
dwUriBuilderFlags
,
dwAllowEncodingPropertyMask
,
(
DWORD
)
dwReserved
,
ppIUri
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_GetIUri
(
IUriBuilder
*
iface
,
IUri
**
ppIUri
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
ppIUri
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_SetIUri
(
IUriBuilder
*
iface
,
IUri
*
pIUri
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
pIUri
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_GetFragment
(
IUriBuilder
*
iface
,
DWORD
*
pcchFragment
,
LPCWSTR
*
ppwzFragment
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchFragment
,
ppwzFragment
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_GetHost
(
IUriBuilder
*
iface
,
DWORD
*
pcchHost
,
LPCWSTR
*
ppwzHost
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchHost
,
ppwzHost
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_GetPassword
(
IUriBuilder
*
iface
,
DWORD
*
pcchPassword
,
LPCWSTR
*
ppwzPassword
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchPassword
,
ppwzPassword
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_GetPath
(
IUriBuilder
*
iface
,
DWORD
*
pcchPath
,
LPCWSTR
*
ppwzPath
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchPath
,
ppwzPath
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_GetPort
(
IUriBuilder
*
iface
,
BOOL
*
pfHasPort
,
DWORD
*
pdwPort
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pfHasPort
,
pdwPort
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_GetQuery
(
IUriBuilder
*
iface
,
DWORD
*
pcchQuery
,
LPCWSTR
*
ppwzQuery
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchQuery
,
ppwzQuery
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_GetSchemeName
(
IUriBuilder
*
iface
,
DWORD
*
pcchSchemeName
,
LPCWSTR
*
ppwzSchemeName
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchSchemeName
,
ppwzSchemeName
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_GetUserName
(
IUriBuilder
*
iface
,
DWORD
*
pcchUserName
,
LPCWSTR
*
ppwzUserName
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchUserName
,
ppwzUserName
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_SetFragment
(
IUriBuilder
*
iface
,
LPCWSTR
pwzNewValue
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
pwzNewValue
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_SetHost
(
IUriBuilder
*
iface
,
LPCWSTR
pwzNewValue
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
pwzNewValue
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_SetPassword
(
IUriBuilder
*
iface
,
LPCWSTR
pwzNewValue
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
pwzNewValue
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_SetPath
(
IUriBuilder
*
iface
,
LPCWSTR
pwzNewValue
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
pwzNewValue
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_SetPort
(
IUriBuilder
*
iface
,
BOOL
fHasPort
,
DWORD
dwNewValue
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%d %d)
\n
"
,
This
,
fHasPort
,
dwNewValue
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_SetQuery
(
IUriBuilder
*
iface
,
LPCWSTR
pwzNewValue
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
pwzNewValue
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_SetSchemeName
(
IUriBuilder
*
iface
,
LPCWSTR
pwzNewValue
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
pwzNewValue
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_SetUserName
(
IUriBuilder
*
iface
,
LPCWSTR
pwzNewValue
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%s)
\n
"
,
This
,
debugstr_w
(
pwzNewValue
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_RemoveProperties
(
IUriBuilder
*
iface
,
DWORD
dwPropertyMask
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(0x%08x)
\n
"
,
This
,
dwPropertyMask
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
UriBuilder_HasBeenModified
(
IUriBuilder
*
iface
,
BOOL
*
pfModified
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
pfModified
);
return
E_NOTIMPL
;
}
#undef URIBUILDER_THIS
static
const
IUriBuilderVtbl
UriBuilderVtbl
=
{
UriBuilder_QueryInterface
,
UriBuilder_AddRef
,
UriBuilder_Release
,
UriBuilder_CreateUriSimple
,
UriBuilder_CreateUri
,
UriBuilder_CreateUriWithFlags
,
UriBuilder_GetIUri
,
UriBuilder_SetIUri
,
UriBuilder_GetFragment
,
UriBuilder_GetHost
,
UriBuilder_GetPassword
,
UriBuilder_GetPath
,
UriBuilder_GetPort
,
UriBuilder_GetQuery
,
UriBuilder_GetSchemeName
,
UriBuilder_GetUserName
,
UriBuilder_SetFragment
,
UriBuilder_SetHost
,
UriBuilder_SetPassword
,
UriBuilder_SetPath
,
UriBuilder_SetPort
,
UriBuilder_SetQuery
,
UriBuilder_SetSchemeName
,
UriBuilder_SetUserName
,
UriBuilder_RemoveProperties
,
UriBuilder_HasBeenModified
,
};
/***********************************************************************
* CreateIUriBuilder (urlmon.@)
*/
HRESULT
WINAPI
CreateIUriBuilder
(
IUri
*
pIUri
,
DWORD
dwFlags
,
DWORD_PTR
dwReserved
,
IUriBuilder
**
ppIUriBuilder
)
{
UriBuilder
*
ret
;
TRACE
(
"(%p %x %x %p)
\n
"
,
pIUri
,
dwFlags
,
(
DWORD
)
dwReserved
,
ppIUriBuilder
);
ret
=
heap_alloc
(
sizeof
(
UriBuilder
));
if
(
!
ret
)
return
E_OUTOFMEMORY
;
ret
->
lpIUriBuilderVtbl
=
&
UriBuilderVtbl
;
ret
->
ref
=
1
;
*
ppIUriBuilder
=
URIBUILDER
(
ret
);
return
S_OK
;
}
dlls/urlmon/urlmon.spec
View file @
1ad86746
...
...
@@ -26,6 +26,7 @@
@ stdcall CreateAsyncBindCtx(long ptr ptr ptr)
@ stdcall CreateAsyncBindCtxEx(ptr long ptr ptr ptr long)
@ stdcall CreateFormatEnumerator(long ptr ptr)
@ stdcall CreateIUriBuilder(ptr long long ptr)
@ stdcall CreateUri(wstr long long ptr)
@ stdcall CreateURLMoniker(ptr wstr ptr)
@ stdcall CreateURLMonikerEx(ptr wstr ptr long)
...
...
include/urlmon.idl
View file @
1ad86746
...
...
@@ -24,6 +24,7 @@ import "msxml.idl";
cpp_quote
(
"#ifdef WINE_NO_UNICODE_MACROS"
)
cpp_quote
(
"#undef GetUserName"
)
cpp_quote
(
"#undef SetPort"
)
cpp_quote
(
"#endif"
)
interface
IInternetProtocolSink
;
...
...
@@ -1717,6 +1718,105 @@ interface IUriContainer : IUnknown
}
/*****************************************************************************
*
IUriBuilder
interface
*/
[
local
,
object
,
uuid
(
4221b2
e1
-
8955
-
46
c0
-
bd5b
-
de9897565de7
),
pointer_default
(
unique
)
]
interface
IUriBuilder
:
IUnknown
{
HRESULT
CreateUriSimple
(
[
in
]
DWORD
dwAllowEncodingPropertyMask
,
[
in
]
DWORD_PTR
dwReserved
,
[
out
]
IUri
**
ppIUri
)
;
HRESULT
CreateUri
(
[
in
]
DWORD
dwCreateFlags
,
[
in
]
DWORD
dwAllowEncodingPropertyMask
,
[
in
]
DWORD_PTR
dwReserved
,
[
out
]
IUri
**
ppIUri
)
;
HRESULT
CreateUriWithFlags
(
[
in
]
DWORD
dwCreateFlags
,
[
in
]
DWORD
dwUriBuilderFlags
,
[
in
]
DWORD
dwAllowEncodingPropertyMask
,
[
in
]
DWORD_PTR
dwReserved
,
[
out
]
IUri
**
ppIUri
)
;
HRESULT
GetIUri
(
[
out
]
IUri
**
ppIUri
)
;
HRESULT
SetIUri
(
[
in
,
unique
]
IUri
*
pIUri
)
;
HRESULT
GetFragment
(
[
out
]
DWORD
*
pcchFragment
,
[
out
]
LPCWSTR
*
ppwzFragment
)
;
HRESULT
GetHost
(
[
out
]
DWORD
*
pcchHost
,
[
out
]
LPCWSTR
*
ppwzHost
)
;
HRESULT
GetPassword
(
[
out
]
DWORD
*
pcchPassword
,
[
out
]
LPCWSTR
*
ppwzPassword
)
;
HRESULT
GetPath
(
[
out
]
DWORD
*
pcchPath
,
[
out
]
LPCWSTR
*
ppwzPath
)
;
HRESULT
GetPort
(
[
out
]
BOOL
*
pfHasPort
,
[
out
]
DWORD
*
pdwPort
)
;
HRESULT
GetQuery
(
[
out
]
DWORD
*
pcchQuery
,
[
out
]
LPCWSTR
*
ppwzQuery
)
;
HRESULT
GetSchemeName
(
[
out
]
DWORD
*
pcchSchemeName
,
[
out
]
LPCWSTR
*
ppwzSchemeName
)
;
HRESULT
GetUserName
(
[
out
]
DWORD
*
pcchUserName
,
[
out
]
LPCWSTR
*
ppwzUserName
)
;
HRESULT
SetFragment
(
[
in
]
LPCWSTR
pwzNewValue
)
;
HRESULT
SetHost
(
[
in
]
LPCWSTR
pwzNewValue
)
;
HRESULT
SetPassword
(
[
in
]
LPCWSTR
pwzNewValue
)
;
HRESULT
SetPath
(
[
in
]
LPCWSTR
pwzNewValue
)
;
HRESULT
SetPort
(
[
in
]
BOOL
fHasPort
,
[
in
]
DWORD
dwNewValue
)
;
HRESULT
SetQuery
(
[
in
]
LPCWSTR
pwzNewValue
)
;
HRESULT
SetSchemeName
(
[
in
]
LPCWSTR
pwzNewValue
)
;
HRESULT
SetUserName
(
[
in
]
LPCWSTR
pwzNewValue
)
;
HRESULT
RemoveProperties
(
[
in
]
DWORD
dwPropertyMask
)
;
HRESULT
HasBeenModified
(
[
out
]
BOOL
*
pfModified
)
;
}
;
/*****************************************************************************
*
IInternetProtocolEx
interface
*/
[
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment