KeePass Help Center KeePass Home | Downloads | Translations | Plugins | Donate 
Help Center Home | Forums | Awards | Links 







IKpAPI.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2008-2024 Dominik Reichl
3  All rights reserved.
4 
5  Redistribution and use in source and binary forms, with or without
6  modification, are permitted provided that the following conditions
7  are met:
8 
9  * Redistributions of source code must retain the above copyright
10  notice, this list of conditions and the following disclaimer.
11  * Redistributions in binary form must reproduce the above copyright
12  notice, this list of conditions and the following disclaimer in
13  the documentation and/or other materials provided with the
14  distribution.
15 
16  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
19  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
20  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
21  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
22  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27  POSSIBILITY OF SUCH DAMAGE.
28 */
29 
30 #ifndef ___IKPAPI_H___
31 #define ___IKPAPI_H___
32 
33 #pragma once
34 
35 #include "../../SysDefEx.h"
36 #include "IKpUnknown.h"
37 #include "../../PwStructs.h"
38 
39 #pragma pack(1)
40 
43 struct KP_DECL_INTERFACE("F023A34A-C6A9-41BA-AAF9-8D9EC329A435") IKpAPI :
44  public IKpUnknown
45 {
46 public:
61  STDMETHOD(CreateInstance)(REFCLSID rclsid, REFIID riid, void** ppvObject) = 0;
62 
83  STDMETHOD(CreateInstanceEx)(REFCLSID rclsid, REFIID riid, void** ppvObject,
84  LPARAM lParamW, LPARAM lParamL) = 0;
85 
100  STDMETHOD(QueryInstance)(REFCLSID rclsid, REFIID riid, void** ppvObject) = 0;
101 
107  STDMETHOD(DeleteObject)(void* pObject) = 0;
108 
114  STDMETHOD(DeleteArray)(void* pArray) = 0;
115 
117  STDMETHOD_(DWORD, GetVersion)() = 0;
118 
124  STDMETHOD_(LPCTSTR, GetVersionStr)() = 0;
125 
128  STDMETHOD_(DWORD, GetCharSize)() = 0;
129 
132  STDMETHOD_(DWORD, GetPointerSize)() = 0; // Size of a pointer in bytes
133 
137  STDMETHOD_(DWORD, GetDebugLevel)() = 0;
138 
141  STDMETHOD_(HWND, GetMainWindowHandle)() = 0;
142 
146  STDMETHOD_(HIMAGELIST, GetClientIconsImageList)() = 0;
147 
151  STDMETHOD_(LPCTSTR, GetTranslationName)() = 0;
152 
157  STDMETHOD_(LPCTSTR, Translate)(LPCTSTR lpDefString) = 0;
158 
162  STDMETHOD(GetNeverExpireTime)(PW_TIME* pBuf) = 0;
163 
165  STDMETHOD(GetCurrentPwTime)(PW_TIME* pBuf) = 0;
166 
169  STDMETHOD_(BOOL, IsFileOpen)() = 0;
170  STDMETHOD_(LPCTSTR, GetAbsoluteDatabasePath)() = 0;
171 
172  STDMETHOD_(DWORD, GetEntryListItemCount)() = 0;
173  STDMETHOD_(DWORD, GetSelectedGroupId)() = 0;
174 
177  STDMETHOD_(BOOL, IsFileModified)() = 0;
178 
183  STDMETHOD(SetFileModified)(BOOL bModified) = 0;
184 
187  STDMETHOD_(BOOL, IsDisplayingDialog)() = 0;
188 
193  STDMETHOD(SetDisplayDialog)(BOOL bDialogDisplayed) = 0;
194 
195  STDMETHOD(EntryListEnsureVisible)(INT nItem, BOOL bPartialOK) = 0;
196 
202  STDMETHOD(UpdateUI)() = 0;
203  STDMETHOD(UpdateGroupTree)() = 0;
204  STDMETHOD(UpdateEntryList)() = 0;
205 
209  STDMETHOD(UpdateToolBar)() = 0;
210 
211  STDMETHOD(SetStatusBarText)(LPCTSTR lpText) = 0;
212 
224  STDMETHOD(ShowDialog)(DWORD dwDialogId, DWORD dwVersion, void* pConfig,
225  INT* pnResult, void* pOutput) = 0;
226 
227  STDMETHOD(AutoType)(PW_ENTRY* pEntry, LONG_PTR lFlags) = 0;
228 
229  STDMETHOD(AddImportMenuItem)(LPCTSTR lpText, UINT uId, INT nIconId) = 0;
230 };
231 
232 #pragma pack()
233 
234 #endif // ___IKPAPI_H___
Base interface from which all other interfaces must derive.
Definition: IKpUnknown.h:41
KeePass API for plugins, provides access to all objects in KeePass (singletons, instantiable objects,...
Definition: IKpAPI.h:43

Documentation generated with Doxygen.





Get KeePass