michael@0: /* michael@0: ****************************************************************************** michael@0: * michael@0: * Copyright (C) 2009-2010, International Business Machines michael@0: * Corporation and others. All Rights Reserved. michael@0: * michael@0: ****************************************************************************** michael@0: * michael@0: * FILE NAME : icuplugimp.h michael@0: * michael@0: * Internal functions for the ICU plugin system michael@0: * michael@0: * Date Name Description michael@0: * 10/29/2009 sl New. michael@0: ****************************************************************************** michael@0: */ michael@0: michael@0: michael@0: #ifndef ICUPLUGIMP_H michael@0: #define ICUPLUGIMP_H michael@0: michael@0: #include "unicode/icuplug.h" michael@0: michael@0: /*========================*/ michael@0: /** @{ Library Manipulation michael@0: */ michael@0: michael@0: /** michael@0: * Open a library, adding a reference count if needed. michael@0: * @param libName library name to load michael@0: * @param status error code michael@0: * @return the library pointer, or NULL michael@0: * @internal internal use only michael@0: */ michael@0: U_INTERNAL void * U_EXPORT2 michael@0: uplug_openLibrary(const char *libName, UErrorCode *status); michael@0: michael@0: /** michael@0: * Close a library, if its reference count is 0 michael@0: * @param lib the library to close michael@0: * @param status error code michael@0: * @internal internal use only michael@0: */ michael@0: U_INTERNAL void U_EXPORT2 michael@0: uplug_closeLibrary(void *lib, UErrorCode *status); michael@0: michael@0: /** michael@0: * Get a library's name, or NULL if not found. michael@0: * @param lib the library's name michael@0: * @param status error code michael@0: * @return the library name, or NULL if not found. michael@0: * @internal internal use only michael@0: */ michael@0: U_INTERNAL char * U_EXPORT2 michael@0: uplug_findLibrary(void *lib, UErrorCode *status); michael@0: michael@0: /** @} */ michael@0: michael@0: /*========================*/ michael@0: /** {@ ICU Plugin internal interfaces michael@0: */ michael@0: michael@0: /** michael@0: * Initialize the plugins michael@0: * @param status error result michael@0: * @internal - Internal use only. michael@0: */ michael@0: U_INTERNAL void U_EXPORT2 michael@0: uplug_init(UErrorCode *status); michael@0: michael@0: /** michael@0: * Get raw plug N michael@0: * @internal - Internal use only michael@0: */ michael@0: U_INTERNAL UPlugData* U_EXPORT2 michael@0: uplug_getPlugInternal(int32_t n); michael@0: michael@0: /** michael@0: * Get the name of the plugin file. michael@0: * @internal - Internal use only. michael@0: */ michael@0: U_INTERNAL const char* U_EXPORT2 michael@0: uplug_getPluginFile(void); michael@0: michael@0: /** @} */ michael@0: michael@0: #endif