00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _UNO_MAPPING_H_
00020 #define _UNO_MAPPING_H_
00021
00022 #include <cppu/cppudllapi.h>
00023 #include <rtl/ustring.h>
00024
00025
00026 #ifdef __cplusplus
00027 extern "C"
00028 {
00029 #endif
00030
00031 struct _typelib_InterfaceTypeDescription;
00032 struct _uno_Mapping;
00033 struct _uno_Environment;
00034
00038 typedef void (SAL_CALL * uno_AcquireMappingFunc)(struct _uno_Mapping *);
00039
00043 typedef void (SAL_CALL * uno_ReleaseMappingFunc)(struct _uno_Mapping *);
00044
00052 typedef void (SAL_CALL * uno_MapInterfaceFunc)(
00053 struct _uno_Mapping * pMapping,
00054 void ** ppOut, void * pInterface,
00055 struct _typelib_InterfaceTypeDescription * pInterfaceTypeDescr );
00056
00057
00058 #if defined( SAL_W32)
00059 #pragma pack(push, 8)
00060 #endif
00061
00064 typedef struct _uno_Mapping
00065 {
00068 uno_AcquireMappingFunc acquire;
00069
00072 uno_ReleaseMappingFunc release;
00073
00076 uno_MapInterfaceFunc mapInterface;
00077 } uno_Mapping;
00078
00079 #if defined( SAL_W32)
00080 #pragma pack(pop)
00081 #endif
00082
00092 CPPU_DLLPUBLIC void SAL_CALL uno_getMapping(
00093 struct _uno_Mapping ** ppMapping,
00094 struct _uno_Environment * pFrom,
00095 struct _uno_Environment * pTo,
00096 rtl_uString * pAddPurpose )
00097 SAL_THROW_EXTERN_C();
00098
00106 typedef void (SAL_CALL * uno_getMappingFunc)(
00107 struct _uno_Mapping ** ppMapping,
00108 struct _uno_Environment * pFrom,
00109 struct _uno_Environment * pTo,
00110 rtl_uString * pAddPurpose );
00111
00116 CPPU_DLLPUBLIC void SAL_CALL uno_registerMappingCallback(
00117 uno_getMappingFunc pCallback )
00118 SAL_THROW_EXTERN_C();
00119
00124 CPPU_DLLPUBLIC void SAL_CALL uno_revokeMappingCallback(
00125 uno_getMappingFunc pCallback )
00126 SAL_THROW_EXTERN_C();
00127
00132 typedef void (SAL_CALL * uno_freeMappingFunc)( struct _uno_Mapping * pMapping );
00133
00143 CPPU_DLLPUBLIC void SAL_CALL uno_registerMapping(
00144 struct _uno_Mapping ** ppMapping, uno_freeMappingFunc freeMapping,
00145 struct _uno_Environment * pFrom, struct _uno_Environment * pTo, rtl_uString * pAddPurpose )
00146 SAL_THROW_EXTERN_C();
00147
00153 CPPU_DLLPUBLIC void SAL_CALL uno_revokeMapping(
00154 struct _uno_Mapping * pMapping )
00155 SAL_THROW_EXTERN_C();
00156
00167 CPPU_DLLPUBLIC void SAL_CALL uno_getMappingByName(
00168 struct _uno_Mapping ** ppMapping,
00169 rtl_uString * pFrom,
00170 rtl_uString * pTo,
00171 rtl_uString * pAddPurpose )
00172 SAL_THROW_EXTERN_C();
00173
00174
00175 #define UNO_EXT_GETMAPPING "uno_ext_getMapping"
00176
00184 typedef void (SAL_CALL * uno_ext_getMappingFunc)(
00185 struct _uno_Mapping ** ppMapping,
00186 struct _uno_Environment * pFrom,
00187 struct _uno_Environment * pTo );
00188
00189 #ifdef DISABLE_DYNLOADING
00190
00191 void SAL_CALL CPPU_ENV_uno_ext_getMapping(
00192 struct _uno_Mapping ** ppMapping,
00193 struct _uno_Environment * pFrom,
00194 struct _uno_Environment * pTo )
00195 SAL_THROW_EXTERN_C();
00196
00197 #ifdef SOLAR_JAVA
00198
00199 void SAL_CALL java_uno_ext_getMapping(
00200 struct _uno_Mapping ** ppMapping,
00201 struct _uno_Environment * pFrom,
00202 struct _uno_Environment * pTo )
00203 SAL_THROW_EXTERN_C();
00204 #endif
00205
00206 #endif
00207
00208 #ifdef __cplusplus
00209 }
00210 #endif
00211
00212 #endif
00213
00214