mirror of https://github.com/mono/CppSharp.git
c-sharpdotnetmonobindingsbridgecclangcpluspluscppsharpglueinteropparserparsingpinvokeswigsyntax-treevisitorsxamarinxamarin-bindings
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
198 lines
9.5 KiB
198 lines
9.5 KiB
#ifndef KONAN_EXAMPLE_LIB_H |
|
#define KONAN_EXAMPLE_LIB_H |
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
#ifdef __cplusplus |
|
typedef bool example_lib_KBoolean; |
|
#else |
|
typedef _Bool example_lib_KBoolean; |
|
#endif |
|
typedef unsigned short example_lib_KChar; |
|
typedef signed char example_lib_KByte; |
|
typedef short example_lib_KShort; |
|
typedef int example_lib_KInt; |
|
typedef long long example_lib_KLong; |
|
typedef unsigned char example_lib_KUByte; |
|
typedef unsigned short example_lib_KUShort; |
|
typedef unsigned int example_lib_KUInt; |
|
typedef unsigned long long example_lib_KULong; |
|
typedef float example_lib_KFloat; |
|
typedef double example_lib_KDouble; |
|
typedef void* example_lib_KNativePtr; |
|
struct example_lib_KType; |
|
typedef struct example_lib_KType example_lib_KType; |
|
|
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_APIHost; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_APIHost_CACAHUETE; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_APIHost_CAPI; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_kotlin_collections_Map; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request_Method; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_kotlin_Any; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request_Method_GET; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request_Method_POST; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request_Method_PUT; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request_Method_DELETE; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request_Method_PATCH; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request_Response; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request_Response_DataResponse; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request_Response_FileResponse; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_com_plangrid_example_Request_Response_ErrorResponse; |
|
typedef struct { |
|
example_lib_KNativePtr pinned; |
|
} example_lib_kref_kotlin_Error; |
|
|
|
|
|
typedef struct { |
|
/* Service functions. */ |
|
void(*DisposeStablePointer)(example_lib_KNativePtr ptr); |
|
void(*DisposeString)(const char* string); |
|
example_lib_KBoolean(*IsInstance)(example_lib_KNativePtr ref, const example_lib_KType* type); |
|
|
|
/* User functions. */ |
|
struct { |
|
struct { |
|
struct { |
|
struct { |
|
struct { |
|
struct { |
|
example_lib_KType* (*_type)(void); |
|
struct { |
|
example_lib_kref_com_plangrid_example_APIHost(*get)(); /* enum entry for CACAHUETE. */ |
|
} CACAHUETE; |
|
struct { |
|
example_lib_kref_com_plangrid_example_APIHost(*get)(); /* enum entry for CAPI. */ |
|
} CAPI; |
|
} APIHost; |
|
struct { |
|
example_lib_KType* (*_type)(void); |
|
example_lib_kref_com_plangrid_example_Request(*Request)(const char* path, example_lib_kref_kotlin_collections_Map queryParams, const char* body, example_lib_kref_com_plangrid_example_Request_Method method); |
|
const char* (*get_path)(example_lib_kref_com_plangrid_example_Request thiz); |
|
example_lib_kref_kotlin_collections_Map(*get_queryParams)(example_lib_kref_com_plangrid_example_Request thiz); |
|
const char* (*get_body)(example_lib_kref_com_plangrid_example_Request thiz); |
|
example_lib_kref_com_plangrid_example_Request_Method(*get_method)(example_lib_kref_com_plangrid_example_Request thiz); |
|
example_lib_KBoolean(*equals)(example_lib_kref_com_plangrid_example_Request thiz, example_lib_kref_kotlin_Any other); |
|
example_lib_KInt(*hashCode)(example_lib_kref_com_plangrid_example_Request thiz); |
|
const char* (*toString)(example_lib_kref_com_plangrid_example_Request thiz); |
|
const char* (*component1)(example_lib_kref_com_plangrid_example_Request thiz); |
|
example_lib_kref_kotlin_collections_Map(*component2)(example_lib_kref_com_plangrid_example_Request thiz); |
|
const char* (*component3)(example_lib_kref_com_plangrid_example_Request thiz); |
|
example_lib_kref_com_plangrid_example_Request_Method(*component4)(example_lib_kref_com_plangrid_example_Request thiz); |
|
example_lib_kref_com_plangrid_example_Request(*copy)(example_lib_kref_com_plangrid_example_Request thiz, const char* path, example_lib_kref_kotlin_collections_Map queryParams, const char* body, example_lib_kref_com_plangrid_example_Request_Method method); |
|
struct { |
|
example_lib_KType* (*_type)(void); |
|
struct { |
|
example_lib_kref_com_plangrid_example_Request_Method(*get)(); /* enum entry for GET. */ |
|
} GET; |
|
struct { |
|
example_lib_kref_com_plangrid_example_Request_Method(*get)(); /* enum entry for POST. */ |
|
} POST; |
|
struct { |
|
example_lib_kref_com_plangrid_example_Request_Method(*get)(); /* enum entry for PUT. */ |
|
} PUT; |
|
struct { |
|
example_lib_kref_com_plangrid_example_Request_Method(*get)(); /* enum entry for DELETE. */ |
|
} DELETE; |
|
struct { |
|
example_lib_kref_com_plangrid_example_Request_Method(*get)(); /* enum entry for PATCH. */ |
|
} PATCH; |
|
} Method; |
|
struct { |
|
example_lib_KType* (*_type)(void); |
|
struct { |
|
example_lib_KType* (*_type)(void); |
|
example_lib_kref_com_plangrid_example_Request_Response_DataResponse(*DataResponse)(const char* data); |
|
const char* (*get_data)(example_lib_kref_com_plangrid_example_Request_Response_DataResponse thiz); |
|
} DataResponse; |
|
struct { |
|
example_lib_KType* (*_type)(void); |
|
example_lib_kref_com_plangrid_example_Request_Response_FileResponse(*FileResponse)(const char* filePath); |
|
const char* (*get_filePath)(example_lib_kref_com_plangrid_example_Request_Response_FileResponse thiz); |
|
} FileResponse; |
|
struct { |
|
example_lib_KType* (*_type)(void); |
|
example_lib_kref_com_plangrid_example_Request_Response_ErrorResponse(*ErrorResponse)(example_lib_kref_kotlin_Error error); |
|
example_lib_kref_kotlin_Error(*get_error)(example_lib_kref_com_plangrid_example_Request_Response_ErrorResponse thiz); |
|
} ErrorResponse; |
|
struct { |
|
int i; |
|
} $serializer; |
|
} Response; |
|
} Request; |
|
} example; |
|
} plangrid; |
|
} com; |
|
} root; |
|
} kotlin; |
|
} example_lib_ExportedSymbols; |
|
extern example_lib_ExportedSymbols* example_lib_symbols(void); |
|
#ifdef __cplusplus |
|
} /* extern "C" */ |
|
#endif |
|
#endif /* KONAN_EXAMPLE_LIB_H */ |
|
|
|
// Code like below would hardly appear in practice |
|
// but it's worth noting we don't support it |
|
#if 0 |
|
struct DLL_API TestAnonTypesWithAnonFields |
|
{ |
|
public: |
|
struct |
|
{ |
|
struct |
|
{ |
|
}; |
|
}; |
|
struct |
|
{ |
|
struct |
|
{ |
|
}; |
|
}; |
|
struct |
|
{ |
|
struct |
|
{ |
|
}; |
|
}; |
|
struct |
|
{ |
|
struct |
|
{ |
|
}; |
|
}; |
|
}; |
|
#endif
|
|
|