ReactOS  0.4.14-dev-606-g14ebc0b
factory.h
Go to the documentation of this file.
1 /* Copyright (c) Mark Harmstone 2016-17
2  *
3  * This file is part of WinBtrfs.
4  *
5  * WinBtrfs is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Lesser General Public Licence as published by
7  * the Free Software Foundation, either version 3 of the Licence, or
8  * (at your option) any later version.
9  *
10  * WinBtrfs is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Lesser General Public Licence for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public Licence
16  * along with WinBtrfs. If not, see <http://www.gnu.org/licenses/>. */
17 
18 #pragma once
19 
20 extern LONG objs_loaded;
21 
22 typedef enum {
28 } factory_type;
29 
30 class Factory : public IClassFactory {
31 public:
32  Factory() {
33  refcount = 0;
36  }
37 
38  virtual ~Factory() {
40  }
41 
42  // IUnknown
43 
45 
48  }
49 
52 
53  if (rc == 0)
54  delete this;
55 
56  return rc;
57  }
58 
59  // IClassFactory
60 
61  virtual HRESULT __stdcall CreateInstance(IUnknown* pUnknownOuter, const IID& iid, void** ppv);
62  virtual HRESULT __stdcall LockServer(BOOL bLock);
63 
65 
66 private:
68 };
#define REFIID
Definition: guiddef.h:118
HRESULT __stdcall QueryInterface(REFIID riid, void **ppObj)
Definition: factory.cpp:26
LONG objs_loaded
Definition: main.cpp:48
virtual HRESULT __stdcall CreateInstance(IUnknown *pUnknownOuter, const IID &iid, void **ppv)
Definition: factory.cpp:43
factory_type
Definition: factory.h:22
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
ULONG __stdcall AddRef()
Definition: factory.h:46
virtual ~Factory()
Definition: factory.h:38
ULONG __stdcall Release()
Definition: factory.h:50
LONG HRESULT
Definition: typedefs.h:77
#define __stdcall
Definition: typedefs.h:25
#define InterlockedDecrement
Definition: armddk.h:52
virtual HRESULT __stdcall LockServer(BOOL bLock)
Definition: factory.cpp:39
LONG refcount
Definition: factory.h:67
#define InterlockedIncrement
Definition: armddk.h:53
Factory()
Definition: factory.h:32
unsigned int ULONG
Definition: retypes.h:1
factory_type type
Definition: factory.h:64