LibreOffice Module shell (master) 1
spsuppClassFactory.hpp
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3* This file is part of the LibreOffice project.
4*
5* This Source Code Form is subject to the terms of the Mozilla Public
6* License, v. 2.0. If a copy of the MPL was not distributed with this
7* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8*/
9
10#ifndef INCLUDED_SHELL_INC_SPSUPP_SPSUPPCLASSFACTORY_HPP
11#define INCLUDED_SHELL_INC_SPSUPP_SPSUPPCLASSFACTORY_HPP
12
13#include "COMRefCounted.hpp"
14
15class ClassFactory : public COMRefCounted<IClassFactory>
16{
17public:
19 virtual ~ClassFactory() override;
20
21 // IUnknown methods
22
23 HRESULT STDMETHODCALLTYPE QueryInterface(
24 REFIID riid,
25 void **ppvObject) override;
26
27 // IClassFactory methods
28
29 HRESULT STDMETHODCALLTYPE CreateInstance(
30 IUnknown *pUnkOuter,
31 REFIID riid,
32 void **ppvObject) override;
33
34 HRESULT STDMETHODCALLTYPE LockServer(
35 BOOL fLock) override;
36
37 // Non-COM methods
38
39 static LONG GetObjectCount() { return m_nObjCount; }
40 static LONG GetLockCount() { return m_nLockCount; }
41
42private:
45};
46
47#endif
48
49/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual ~ClassFactory() override
static LONG m_nLockCount
static LONG GetObjectCount()
static LONG m_nObjCount
HRESULT STDMETHODCALLTYPE CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppvObject) override
static LONG GetLockCount()
HRESULT STDMETHODCALLTYPE LockServer(BOOL fLock) override
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) override
const wchar_t *typedef BOOL
LONG