OSDN Git Service

Merge branch 'rel_0.3.x'
[tortoisegit/TortoiseGitJp.git] / src / TortoiseOverlays / ShellExtClassFactory.h
1 // TortoiseOverlays - an overlay handler for Tortoise clients\r
2 // Copyright (C) 2007 - TortoiseSVN\r
3 #pragma once\r
4 \r
5 \r
6 /**\r
7  * This class factory object creates the main handlers -\r
8  * its constructor says which OLE class it has to make.\r
9  */\r
10 class CShellExtClassFactory : public IClassFactory\r
11 {\r
12 protected:\r
13     ULONG m_cRef;\r
14     /// variable to contain class of object (i.e. not under source control, up to date)\r
15     FileState           m_StateToMake;\r
16 \r
17         \r
18 public:\r
19     CShellExtClassFactory(FileState state);\r
20     virtual ~CShellExtClassFactory();\r
21         \r
22         //@{\r
23     /// IUnknown members\r
24     STDMETHODIMP         QueryInterface(REFIID, LPVOID FAR *);\r
25     STDMETHODIMP_(ULONG) AddRef();\r
26     STDMETHODIMP_(ULONG) Release();\r
27         //@}\r
28     \r
29         //@{\r
30     /// IClassFactory members\r
31     STDMETHODIMP      CreateInstance(LPUNKNOWN, REFIID, LPVOID FAR *);\r
32     STDMETHODIMP      LockServer(BOOL);\r
33         //@}\r
34 };\r