OSDN Git Service

Add Show "No Merge" and "First Parent Only" Option at Show ALL menu button
[tortoisegit/TortoiseGitJp.git] / src / TortoiseShell / ShellExtClassFactory.h
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2003-2006 - Stefan Kueng\r
4 \r
5 // This program is free software; you can redistribute it and/or\r
6 // modify it under the terms of the GNU General Public License\r
7 // as published by the Free Software Foundation; either version 2\r
8 // of the License, or (at your option) any later version.\r
9 \r
10 // This program is distributed in the hope that it will be useful,\r
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 // GNU General Public License for more details.\r
14 \r
15 // You should have received a copy of the GNU General Public License\r
16 // along with this program; if not, write to the Free Software Foundation,\r
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
18 //\r
19 #pragma once\r
20 \r
21 \r
22 /**\r
23  * \ingroup TortoiseShell\r
24  * This class factory object creates the main handlers -\r
25  * its constructor says which OLE class it has to make.\r
26  */\r
27 class CShellExtClassFactory : public IClassFactory\r
28 {\r
29 protected:\r
30     ULONG m_cRef;\r
31     /// variable to contain class of object (i.e. not under source control, up to date)\r
32     FileState           m_StateToMake;\r
33 \r
34         \r
35 public:\r
36     CShellExtClassFactory(FileState state);\r
37     virtual ~CShellExtClassFactory();\r
38         \r
39         //@{\r
40     /// IUnknown members\r
41     STDMETHODIMP         QueryInterface(REFIID, LPVOID FAR *);\r
42     STDMETHODIMP_(ULONG) AddRef();\r
43     STDMETHODIMP_(ULONG) Release();\r
44         //@}\r
45     \r
46         //@{\r
47     /// IClassFactory members\r
48     STDMETHODIMP      CreateInstance(LPUNKNOWN, REFIID, LPVOID FAR *);\r
49     STDMETHODIMP      LockServer(BOOL);\r
50         //@}\r
51 };\r