1*0e209d39SAndroid Build Coastguard Worker // © 2016 and later: Unicode, Inc. and others. 2*0e209d39SAndroid Build Coastguard Worker // License & terms of use: http://www.unicode.org/copyright.html 3*0e209d39SAndroid Build Coastguard Worker /* 4*0e209d39SAndroid Build Coastguard Worker ****************************************************************************** 5*0e209d39SAndroid Build Coastguard Worker * 6*0e209d39SAndroid Build Coastguard Worker * Copyright (C) 2009-2015, International Business Machines 7*0e209d39SAndroid Build Coastguard Worker * Corporation and others. All Rights Reserved. 8*0e209d39SAndroid Build Coastguard Worker * 9*0e209d39SAndroid Build Coastguard Worker ****************************************************************************** 10*0e209d39SAndroid Build Coastguard Worker * 11*0e209d39SAndroid Build Coastguard Worker * FILE NAME : icuplugimp.h 12*0e209d39SAndroid Build Coastguard Worker * 13*0e209d39SAndroid Build Coastguard Worker * Internal functions for the ICU plugin system 14*0e209d39SAndroid Build Coastguard Worker * 15*0e209d39SAndroid Build Coastguard Worker * Date Name Description 16*0e209d39SAndroid Build Coastguard Worker * 10/29/2009 sl New. 17*0e209d39SAndroid Build Coastguard Worker ****************************************************************************** 18*0e209d39SAndroid Build Coastguard Worker */ 19*0e209d39SAndroid Build Coastguard Worker 20*0e209d39SAndroid Build Coastguard Worker 21*0e209d39SAndroid Build Coastguard Worker #ifndef ICUPLUGIMP_H 22*0e209d39SAndroid Build Coastguard Worker #define ICUPLUGIMP_H 23*0e209d39SAndroid Build Coastguard Worker 24*0e209d39SAndroid Build Coastguard Worker #include "unicode/icuplug.h" 25*0e209d39SAndroid Build Coastguard Worker 26*0e209d39SAndroid Build Coastguard Worker #if UCONFIG_ENABLE_PLUGINS 27*0e209d39SAndroid Build Coastguard Worker 28*0e209d39SAndroid Build Coastguard Worker /*========================*/ 29*0e209d39SAndroid Build Coastguard Worker /** @{ Library Manipulation 30*0e209d39SAndroid Build Coastguard Worker */ 31*0e209d39SAndroid Build Coastguard Worker 32*0e209d39SAndroid Build Coastguard Worker /** 33*0e209d39SAndroid Build Coastguard Worker * Open a library, adding a reference count if needed. 34*0e209d39SAndroid Build Coastguard Worker * @param libName library name to load 35*0e209d39SAndroid Build Coastguard Worker * @param status error code 36*0e209d39SAndroid Build Coastguard Worker * @return the library pointer, or NULL 37*0e209d39SAndroid Build Coastguard Worker * @internal internal use only 38*0e209d39SAndroid Build Coastguard Worker */ 39*0e209d39SAndroid Build Coastguard Worker U_CAPI void * U_EXPORT2 40*0e209d39SAndroid Build Coastguard Worker uplug_openLibrary(const char *libName, UErrorCode *status); 41*0e209d39SAndroid Build Coastguard Worker 42*0e209d39SAndroid Build Coastguard Worker /** 43*0e209d39SAndroid Build Coastguard Worker * Close a library, if its reference count is 0 44*0e209d39SAndroid Build Coastguard Worker * @param lib the library to close 45*0e209d39SAndroid Build Coastguard Worker * @param status error code 46*0e209d39SAndroid Build Coastguard Worker * @internal internal use only 47*0e209d39SAndroid Build Coastguard Worker */ 48*0e209d39SAndroid Build Coastguard Worker U_CAPI void U_EXPORT2 49*0e209d39SAndroid Build Coastguard Worker uplug_closeLibrary(void *lib, UErrorCode *status); 50*0e209d39SAndroid Build Coastguard Worker 51*0e209d39SAndroid Build Coastguard Worker /** 52*0e209d39SAndroid Build Coastguard Worker * Get a library's name, or NULL if not found. 53*0e209d39SAndroid Build Coastguard Worker * @param lib the library's name 54*0e209d39SAndroid Build Coastguard Worker * @param status error code 55*0e209d39SAndroid Build Coastguard Worker * @return the library name, or NULL if not found. 56*0e209d39SAndroid Build Coastguard Worker * @internal internal use only 57*0e209d39SAndroid Build Coastguard Worker */ 58*0e209d39SAndroid Build Coastguard Worker U_CAPI char * U_EXPORT2 59*0e209d39SAndroid Build Coastguard Worker uplug_findLibrary(void *lib, UErrorCode *status); 60*0e209d39SAndroid Build Coastguard Worker 61*0e209d39SAndroid Build Coastguard Worker /** @} */ 62*0e209d39SAndroid Build Coastguard Worker 63*0e209d39SAndroid Build Coastguard Worker /*========================*/ 64*0e209d39SAndroid Build Coastguard Worker /** {@ ICU Plugin internal interfaces 65*0e209d39SAndroid Build Coastguard Worker */ 66*0e209d39SAndroid Build Coastguard Worker 67*0e209d39SAndroid Build Coastguard Worker /** 68*0e209d39SAndroid Build Coastguard Worker * Initialize the plugins 69*0e209d39SAndroid Build Coastguard Worker * @param status error result 70*0e209d39SAndroid Build Coastguard Worker * @internal - Internal use only. 71*0e209d39SAndroid Build Coastguard Worker */ 72*0e209d39SAndroid Build Coastguard Worker U_CAPI void U_EXPORT2 73*0e209d39SAndroid Build Coastguard Worker uplug_init(UErrorCode *status); 74*0e209d39SAndroid Build Coastguard Worker 75*0e209d39SAndroid Build Coastguard Worker /** 76*0e209d39SAndroid Build Coastguard Worker * Get raw plug N 77*0e209d39SAndroid Build Coastguard Worker * @internal - Internal use only 78*0e209d39SAndroid Build Coastguard Worker */ 79*0e209d39SAndroid Build Coastguard Worker U_CAPI UPlugData* U_EXPORT2 80*0e209d39SAndroid Build Coastguard Worker uplug_getPlugInternal(int32_t n); 81*0e209d39SAndroid Build Coastguard Worker 82*0e209d39SAndroid Build Coastguard Worker /** 83*0e209d39SAndroid Build Coastguard Worker * Get the name of the plugin file. 84*0e209d39SAndroid Build Coastguard Worker * @internal - Internal use only. 85*0e209d39SAndroid Build Coastguard Worker */ 86*0e209d39SAndroid Build Coastguard Worker U_CAPI const char* U_EXPORT2 87*0e209d39SAndroid Build Coastguard Worker uplug_getPluginFile(void); 88*0e209d39SAndroid Build Coastguard Worker 89*0e209d39SAndroid Build Coastguard Worker /** @} */ 90*0e209d39SAndroid Build Coastguard Worker 91*0e209d39SAndroid Build Coastguard Worker #endif 92*0e209d39SAndroid Build Coastguard Worker 93*0e209d39SAndroid Build Coastguard Worker #endif 94