1ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved.
2ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be
3ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// found in the LICENSE file.
4ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
5ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
7ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifndef _FWL_ADAPTER_CLIPBOARDMGR_H
8ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define _FWL_ADAPTER_CLIPBOARDMGR_H
9ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
10ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannenum FWL_CLIPBOARDFORMAT {
11ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  FWL_CLIPBOARDFORMAT_Dib,
12ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  FWL_CLIPBOARDFORMAT_Text,
13ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  FWL_CLIPBOARDFORMAT_UncodeText,
14ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann};
15ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmanntypedef struct _FWL_HCLIPBOARDDATA { void* pData; } * FWL_HCLIPBOARDDATA;
16ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
17ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannclass IFWL_AdapterClipboardMgr {
18ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann public:
19ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual ~IFWL_AdapterClipboardMgr() {}
20ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FWL_ERR Empty() = 0;
21ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FX_BOOL IsDataAvailable(FX_DWORD dwFormat) = 0;
22ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FWL_HCLIPBOARDDATA GetData(FX_DWORD dwFormat) = 0;
23ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FWL_ERR SetData(FX_DWORD dwFormat, uint8_t* pBuf, int32_t iSize) = 0;
24ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual int32_t GetDataSize(FWL_HCLIPBOARDDATA hData) = 0;
25ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual void* LockDataBuffer(FWL_HCLIPBOARDDATA hData) = 0;
26ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FX_BOOL UnLockDataBuffer(FWL_HCLIPBOARDDATA hData) = 0;
27ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FWL_ERR SetStringData(const CFX_WideStringC& ws) = 0;
28ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FWL_ERR SetStringData(const CFX_ByteStringC& bs) = 0;
29ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FWL_ERR GetStringData(CFX_WideString& ws) = 0;
30ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FWL_ERR GetStringData(CFX_ByteString& bs) = 0;
31ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FWL_ERR EnumFormats(CFX_DWordArray& formats) = 0;
32ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  virtual FX_DWORD RegisterFormat(const CFX_WideStringC& wsFormat) = 0;
33ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann};
34ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif
35