1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  * Copyright (C) 2016 Mopria Alliance, Inc.
4  * Copyright (C) 2013 Hewlett-Packard Development Company, L.P.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
19 #include "common_defines.h"
20 
21 #ifndef PCLMWRAPPERAPI_H_
22 #define PCLMWRAPPERAPI_H_
23 
24 // uses C calling convention
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 /*
30  * C mappings for CPP PCLmGenerator APIs
31  */
32 
33 void *CreatePCLmGen();
34 int PCLmStartJob(void *thisClass, void **pOutBuffer, int *iOutBufferSize);
35 int PCLmEndJob(void *thisClass, void **pOutBUffer, int *iOutBifferSize);
36 int PCLmStartPage(void *thisClass, PCLmPageSetup *PCLmPageContent, void **pOutBuffer,
37         int *iOutBufferSize);
38 int PCLmEndPage(void *thisClass, void **pOutBuffer, int *iOutBufferSize);
39 int PCLmEncapsulate(void *thisClass, void *pInBuffer, int inBufferSize, int numLines,
40         void **pOutBuffer, int *iOutBufferSize);
41 void PCLmFreeBuffer(void *thisClass, void *pBuffer);
42 void DestroyPCLmGen(void *thisClass);
43 int PCLmGetMediaDimensions(void *thisClass, const char *mediaRequested, PCLmPageSetup *myPageInfo);
44 #ifdef __cplusplus
45 }
46 #endif
47 
48 #endif // PCLMWRAPPERAPI_H_