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