|
Packit Service |
fa4841 |
/**
|
|
Packit Service |
fa4841 |
* WinPR: Windows Portable Runtime
|
|
Packit Service |
fa4841 |
* Clipboard Functions
|
|
Packit Service |
fa4841 |
*
|
|
Packit Service |
fa4841 |
* Copyright 2014 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
|
Packit Service |
fa4841 |
*
|
|
Packit Service |
fa4841 |
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
Packit Service |
fa4841 |
* you may not use this file except in compliance with the License.
|
|
Packit Service |
fa4841 |
* You may obtain a copy of the License at
|
|
Packit Service |
fa4841 |
*
|
|
Packit Service |
fa4841 |
* http://www.apache.org/licenses/LICENSE-2.0
|
|
Packit Service |
fa4841 |
*
|
|
Packit Service |
fa4841 |
* Unless required by applicable law or agreed to in writing, software
|
|
Packit Service |
fa4841 |
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
Packit Service |
fa4841 |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
Packit Service |
fa4841 |
* See the License for the specific language governing permissions and
|
|
Packit Service |
fa4841 |
* limitations under the License.
|
|
Packit Service |
fa4841 |
*/
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#ifndef WINPR_CLIPBOARD_H
|
|
Packit Service |
fa4841 |
#define WINPR_CLIPBOARD_H
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#include <winpr/winpr.h>
|
|
Packit Service |
fa4841 |
#include <winpr/wtypes.h>
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
typedef struct _wClipboard wClipboard;
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
typedef void* (*CLIPBOARD_SYNTHESIZE_FN)(wClipboard* clipboard, UINT32 formatId, const void* data,
|
|
Packit Service |
fa4841 |
UINT32* pSize);
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
struct _wClipboardFileSizeRequest
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
fa4841 |
UINT32 streamId;
|
|
Packit Service |
fa4841 |
UINT32 listIndex;
|
|
Packit Service |
fa4841 |
};
|
|
Packit Service |
fa4841 |
typedef struct _wClipboardFileSizeRequest wClipboardFileSizeRequest;
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
struct _wClipboardFileRangeRequest
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
fa4841 |
UINT32 streamId;
|
|
Packit Service |
fa4841 |
UINT32 listIndex;
|
|
Packit Service |
fa4841 |
UINT32 nPositionLow;
|
|
Packit Service |
fa4841 |
UINT32 nPositionHigh;
|
|
Packit Service |
fa4841 |
UINT32 cbRequested;
|
|
Packit Service |
fa4841 |
};
|
|
Packit Service |
fa4841 |
typedef struct _wClipboardFileRangeRequest wClipboardFileRangeRequest;
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
typedef struct _wClipboardDelegate wClipboardDelegate;
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
struct _wClipboardDelegate
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
fa4841 |
wClipboard* clipboard;
|
|
Packit Service |
fa4841 |
void* custom;
|
|
Packit Service |
fa4841 |
char* basePath;
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
UINT (*ClientRequestFileSize)(wClipboardDelegate*, const wClipboardFileSizeRequest*);
|
|
Packit Service |
fa4841 |
UINT(*ClipboardFileSizeSuccess)
|
|
Packit Service |
fa4841 |
(wClipboardDelegate*, const wClipboardFileSizeRequest*, UINT64 fileSize);
|
|
Packit Service |
fa4841 |
UINT(*ClipboardFileSizeFailure)
|
|
Packit Service |
fa4841 |
(wClipboardDelegate*, const wClipboardFileSizeRequest*, UINT errorCode);
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
UINT (*ClientRequestFileRange)(wClipboardDelegate*, const wClipboardFileRangeRequest*);
|
|
Packit Service |
fa4841 |
UINT(*ClipboardFileRangeSuccess)
|
|
Packit Service |
fa4841 |
(wClipboardDelegate*, const wClipboardFileRangeRequest*, const BYTE* data, UINT32 size);
|
|
Packit Service |
fa4841 |
UINT(*ClipboardFileRangeFailure)
|
|
Packit Service |
fa4841 |
(wClipboardDelegate*, const wClipboardFileRangeRequest*, UINT errorCode);
|
|
Packit Service |
fa4841 |
};
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#ifdef __cplusplus
|
|
Packit Service |
fa4841 |
extern "C"
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
fa4841 |
#endif
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
WINPR_API void ClipboardLock(wClipboard* clipboard);
|
|
Packit Service |
fa4841 |
WINPR_API void ClipboardUnlock(wClipboard* clipboard);
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
WINPR_API BOOL ClipboardEmpty(wClipboard* clipboard);
|
|
Packit Service |
fa4841 |
WINPR_API UINT32 ClipboardCountFormats(wClipboard* clipboard);
|
|
Packit Service |
fa4841 |
WINPR_API UINT32 ClipboardGetFormatIds(wClipboard* clipboard, UINT32** ppFormatIds);
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
WINPR_API UINT32 ClipboardCountRegisteredFormats(wClipboard* clipboard);
|
|
Packit Service |
fa4841 |
WINPR_API UINT32 ClipboardGetRegisteredFormatIds(wClipboard* clipboard, UINT32** ppFormatIds);
|
|
Packit Service |
fa4841 |
WINPR_API UINT32 ClipboardRegisterFormat(wClipboard* clipboard, const char* name);
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
WINPR_API BOOL ClipboardRegisterSynthesizer(wClipboard* clipboard, UINT32 formatId,
|
|
Packit Service |
fa4841 |
UINT32 syntheticId,
|
|
Packit Service |
fa4841 |
CLIPBOARD_SYNTHESIZE_FN pfnSynthesize);
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
WINPR_API UINT32 ClipboardGetFormatId(wClipboard* clipboard, const char* name);
|
|
Packit Service |
fa4841 |
WINPR_API const char* ClipboardGetFormatName(wClipboard* clipboard, UINT32 formatId);
|
|
Packit Service |
fa4841 |
WINPR_API void* ClipboardGetData(wClipboard* clipboard, UINT32 formatId, UINT32* pSize);
|
|
Packit Service |
fa4841 |
WINPR_API BOOL ClipboardSetData(wClipboard* clipboard, UINT32 formatId, const void* data,
|
|
Packit Service |
fa4841 |
UINT32 size);
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
WINPR_API UINT64 ClipboardGetOwner(wClipboard* clipboard);
|
|
Packit Service |
fa4841 |
WINPR_API void ClipboardSetOwner(wClipboard* clipboard, UINT64 ownerId);
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
WINPR_API wClipboardDelegate* ClipboardGetDelegate(wClipboard* clipboard);
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
WINPR_API wClipboard* ClipboardCreate(void);
|
|
Packit Service |
fa4841 |
WINPR_API void ClipboardDestroy(wClipboard* clipboard);
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#ifdef __cplusplus
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
#endif
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#endif /* WINPR_CLIPBOARD_H */
|