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 */ 35U_INTERNAL void * U_EXPORT2 36uplug_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 */ 44U_INTERNAL void U_EXPORT2 45uplug_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 */ 54U_INTERNAL char * U_EXPORT2 55uplug_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 */ 68U_INTERNAL void U_EXPORT2 69uplug_init(UErrorCode *status); 70 71/** 72 * Get raw plug N 73 * @internal - Internal use only 74 */ 75U_INTERNAL UPlugData* U_EXPORT2 76uplug_getPlugInternal(int32_t n); 77 78/** 79 * Get the name of the plugin file. 80 * @internal - Internal use only. 81 */ 82U_INTERNAL const char* U_EXPORT2 83uplug_getPluginFile(void); 84 85/** @} */ 86 87#endif 88