[PATCH 5/5] d3dx9: Get rid of the ID3DXFileEnumObjectImpl typedef.

Henri Verbeet hverbeet at codeweavers.com
Thu Sep 26 02:31:57 CDT 2013


---
 dlls/d3dx9_36/xfile.c |  120 ++++++++++++++++++++++++-------------------------
 1 file changed, 58 insertions(+), 62 deletions(-)

diff --git a/dlls/d3dx9_36/xfile.c b/dlls/d3dx9_36/xfile.c
index 8c14353..1138587 100644
--- a/dlls/d3dx9_36/xfile.c
+++ b/dlls/d3dx9_36/xfile.c
@@ -53,12 +53,13 @@ struct d3dx9_file
     IDirectXFile *dxfile;
 };
 
-typedef struct {
+struct d3dx9_file_enum_object
+{
     ID3DXFileEnumObject ID3DXFileEnumObject_iface;
     LONG ref;
     ULONG nb_children;
     ID3DXFileData **children;
-} ID3DXFileEnumObjectImpl;
+};
 
 typedef struct {
     ID3DXFileData ID3DXFileData_iface;
@@ -75,9 +76,9 @@ static inline struct d3dx9_file *impl_from_ID3DXFile(ID3DXFile *iface)
     return CONTAINING_RECORD(iface, struct d3dx9_file, ID3DXFile_iface);
 }
 
-static inline ID3DXFileEnumObjectImpl* impl_from_ID3DXFileEnumObject(ID3DXFileEnumObject *iface)
+static inline struct d3dx9_file_enum_object *impl_from_ID3DXFileEnumObject(ID3DXFileEnumObject *iface)
 {
-    return CONTAINING_RECORD(iface, ID3DXFileEnumObjectImpl, ID3DXFileEnumObject_iface);
+    return CONTAINING_RECORD(iface, struct d3dx9_file_enum_object, ID3DXFileEnumObject_iface);
 }
 
 static inline ID3DXFileDataImpl* impl_from_ID3DXFileData(ID3DXFileData *iface)
@@ -374,124 +375,119 @@ static HRESULT ID3DXFileDataImpl_Create(IDirectXFileObject *dxfile_object, ID3DX
     return S_OK;
 }
 
-
-/*** IUnknown methods ***/
-
-static HRESULT WINAPI ID3DXFileEnumObjectImpl_QueryInterface(ID3DXFileEnumObject *iface, REFIID riid, void **ret_iface)
+static HRESULT WINAPI d3dx9_file_enum_object_QueryInterface(ID3DXFileEnumObject *iface, REFIID riid, void **out)
 {
-    TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ret_iface);
+    TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
 
-    if (IsEqualGUID(riid, &IID_IUnknown) ||
-        IsEqualGUID(riid, &IID_ID3DXFileEnumObject))
+    if (IsEqualGUID(riid, &IID_ID3DXFileEnumObject)
+            || IsEqualGUID(riid, &IID_IUnknown))
     {
         iface->lpVtbl->AddRef(iface);
-        *ret_iface = iface;
+        *out = iface;
         return S_OK;
     }
 
-    WARN("(%p)->(%s, %p), not found\n", iface, debugstr_guid(riid), ret_iface);
-    *ret_iface = NULL;
+    WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
+
+    *out = NULL;
     return E_NOINTERFACE;
 }
 
-static ULONG WINAPI ID3DXFileEnumObjectImpl_AddRef(ID3DXFileEnumObject *iface)
+static ULONG WINAPI d3dx9_file_enum_object_AddRef(ID3DXFileEnumObject *iface)
 {
-    ID3DXFileEnumObjectImpl *This = impl_from_ID3DXFileEnumObject(iface);
-    ULONG ref = InterlockedIncrement(&This->ref);
+    struct d3dx9_file_enum_object *file_enum = impl_from_ID3DXFileEnumObject(iface);
+    ULONG refcount = InterlockedIncrement(&file_enum->ref);
 
-    TRACE("(%p)->(): new ref = %u\n", iface, ref);
+    TRACE("%p increasing refcount to %u.\n", file_enum, refcount);
 
-    return ref;
+    return refcount;
 }
 
-static ULONG WINAPI ID3DXFileEnumObjectImpl_Release(ID3DXFileEnumObject *iface)
+static ULONG WINAPI d3dx9_file_enum_object_Release(ID3DXFileEnumObject *iface)
 {
-    ID3DXFileEnumObjectImpl *This = impl_from_ID3DXFileEnumObject(iface);
-    ULONG ref = InterlockedDecrement(&This->ref);
+    struct d3dx9_file_enum_object *file_enum = impl_from_ID3DXFileEnumObject(iface);
+    ULONG refcount = InterlockedDecrement(&file_enum->ref);
 
-    TRACE("(%p)->(): new ref = %u\n", iface, ref);
+    TRACE("%p decreasing refcount to %u.\n", file_enum, refcount);
 
-    if (!ref)
+    if (!refcount)
     {
         ULONG i;
 
-        for (i = 0; i < This->nb_children; i++)
-            (This->children[i])->lpVtbl->Release(This->children[i]);
-        HeapFree(GetProcessHeap(), 0, This->children);
-        HeapFree(GetProcessHeap(), 0, This);
+        for (i = 0; i < file_enum->nb_children; ++i)
+        {
+            ID3DXFileData *child = file_enum->children[i];
+            child->lpVtbl->Release(child);
+        }
+        HeapFree(GetProcessHeap(), 0, file_enum->children);
+        HeapFree(GetProcessHeap(), 0, file_enum);
     }
 
-    return ref;
+    return refcount;
 }
 
-
-/*** ID3DXFileEnumObject methods ***/
-
-static HRESULT WINAPI ID3DXFileEnumObjectImpl_GetFile(ID3DXFileEnumObject *iface, ID3DXFile **file)
+static HRESULT WINAPI d3dx9_file_enum_object_GetFile(ID3DXFileEnumObject *iface, ID3DXFile **file)
 {
-    FIXME("(%p)->(%p): stub\n", iface, file);
+    FIXME("iface %p, file %p stub!\n", iface, file);
 
     return E_NOTIMPL;
 }
 
-
-static HRESULT WINAPI ID3DXFileEnumObjectImpl_GetChildren(ID3DXFileEnumObject *iface, SIZE_T *children)
+static HRESULT WINAPI d3dx9_file_enum_object_GetChildren(ID3DXFileEnumObject *iface, SIZE_T *children)
 {
-    ID3DXFileEnumObjectImpl *This = impl_from_ID3DXFileEnumObject(iface);
+    struct d3dx9_file_enum_object *file_enum = impl_from_ID3DXFileEnumObject(iface);
 
-    TRACE("(%p)->(%p)\n", iface, children);
+    TRACE("iface %p, children %p.\n", iface, children);
 
     if (!children)
         return E_POINTER;
 
-    *children = This->nb_children;
+    *children = file_enum->nb_children;
 
     return S_OK;
 }
 
-
-static HRESULT WINAPI ID3DXFileEnumObjectImpl_GetChild(ID3DXFileEnumObject *iface, SIZE_T id, ID3DXFileData **object)
+static HRESULT WINAPI d3dx9_file_enum_object_GetChild(ID3DXFileEnumObject *iface, SIZE_T id, ID3DXFileData **object)
 {
-    ID3DXFileEnumObjectImpl *This = impl_from_ID3DXFileEnumObject(iface);
+    struct d3dx9_file_enum_object *file_enum = impl_from_ID3DXFileEnumObject(iface);
 
-    TRACE("(%p)->(%lu, %p)\n", iface, id, object);
+    TRACE("iface %p, id %#lx, object %p.\n", iface, id, object);
 
     if (!object)
         return E_POINTER;
 
-    *object = This->children[id];
+    *object = file_enum->children[id];
     (*object)->lpVtbl->AddRef(*object);
 
     return S_OK;
 }
 
-
-static HRESULT WINAPI ID3DXFileEnumObjectImpl_GetDataObjectById(ID3DXFileEnumObject *iface, REFGUID guid, ID3DXFileData **object)
+static HRESULT WINAPI d3dx9_file_enum_object_GetDataObjectById(ID3DXFileEnumObject *iface,
+        REFGUID guid, ID3DXFileData **object)
 {
-    FIXME("(%p)->(%s, %p): stub\n", iface, debugstr_guid(guid), object);
+    FIXME("iface %p, guid %s, object %p stub!\n", iface, debugstr_guid(guid), object);
 
     return E_NOTIMPL;
 }
 
-
-static HRESULT WINAPI ID3DXFileEnumObjectImpl_GetDataObjectByName(ID3DXFileEnumObject *iface, const char *name, ID3DXFileData **object)
+static HRESULT WINAPI d3dx9_file_enum_object_GetDataObjectByName(ID3DXFileEnumObject *iface,
+        const char *name, ID3DXFileData **object)
 {
-    FIXME("(%p)->(%s, %p): stub\n", iface, debugstr_a(name), object);
+    FIXME("iface %p, name %s, object %p stub!\n", iface, debugstr_a(name), object);
 
     return E_NOTIMPL;
 }
 
-
-static const ID3DXFileEnumObjectVtbl ID3DXFileEnumObject_Vtbl =
+static const ID3DXFileEnumObjectVtbl d3dx9_file_enum_object_vtbl =
 {
-    ID3DXFileEnumObjectImpl_QueryInterface,
-    ID3DXFileEnumObjectImpl_AddRef,
-    ID3DXFileEnumObjectImpl_Release,
-    ID3DXFileEnumObjectImpl_GetFile,
-    ID3DXFileEnumObjectImpl_GetChildren,
-    ID3DXFileEnumObjectImpl_GetChild,
-    ID3DXFileEnumObjectImpl_GetDataObjectById,
-    ID3DXFileEnumObjectImpl_GetDataObjectByName
+    d3dx9_file_enum_object_QueryInterface,
+    d3dx9_file_enum_object_AddRef,
+    d3dx9_file_enum_object_Release,
+    d3dx9_file_enum_object_GetFile,
+    d3dx9_file_enum_object_GetChildren,
+    d3dx9_file_enum_object_GetChild,
+    d3dx9_file_enum_object_GetDataObjectById,
+    d3dx9_file_enum_object_GetDataObjectByName,
 };
 
 static HRESULT WINAPI d3dx9_file_QueryInterface(ID3DXFile *iface, REFIID riid, void **out)
@@ -542,7 +538,7 @@ static HRESULT WINAPI d3dx9_file_CreateEnumObject(ID3DXFile *iface, const void *
         D3DXF_FILELOADOPTIONS options, ID3DXFileEnumObject **enum_object)
 {
     struct d3dx9_file *file = impl_from_ID3DXFile(iface);
-    ID3DXFileEnumObjectImpl *object;
+    struct d3dx9_file_enum_object *object;
     IDirectXFileEnumObject *dxfile_enum_object;
     void *dxfile_source;
     DXFILELOADOPTIONS dxfile_options;
@@ -592,7 +588,7 @@ static HRESULT WINAPI d3dx9_file_CreateEnumObject(ID3DXFile *iface, const void *
     if (!object)
         return E_OUTOFMEMORY;
 
-    object->ID3DXFileEnumObject_iface.lpVtbl = &ID3DXFileEnumObject_Vtbl;
+    object->ID3DXFileEnumObject_iface.lpVtbl = &d3dx9_file_enum_object_vtbl;
     object->ref = 1;
 
     ret = IDirectXFile_CreateEnumObject(file->dxfile, dxfile_source, dxfile_options, &dxfile_enum_object);
-- 
1.7.10.4




More information about the wine-patches mailing list