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