#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