]>
git.saurik.com Git - apple/icu.git/blob - icuSources/common/icuplugimp.h
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
4 ******************************************************************************
6 * Copyright (C) 2009-2015, International Business Machines
7 * Corporation and others. All Rights Reserved.
9 ******************************************************************************
11 * FILE NAME : icuplugimp.h
13 * Internal functions for the ICU plugin system
15 * Date Name Description
17 ******************************************************************************
24 #include "unicode/icuplug.h"
26 #if UCONFIG_ENABLE_PLUGINS
28 /*========================*/
29 /** @{ Library Manipulation
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
39 U_INTERNAL
void * U_EXPORT2
40 uplug_openLibrary(const char *libName
, UErrorCode
*status
);
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
48 U_INTERNAL
void U_EXPORT2
49 uplug_closeLibrary(void *lib
, UErrorCode
*status
);
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
58 U_INTERNAL
char * U_EXPORT2
59 uplug_findLibrary(void *lib
, UErrorCode
*status
);
63 /*========================*/
64 /** {@ ICU Plugin internal interfaces
68 * Initialize the plugins
69 * @param status error result
70 * @internal - Internal use only.
72 U_INTERNAL
void U_EXPORT2
73 uplug_init(UErrorCode
*status
);
77 * @internal - Internal use only
79 U_INTERNAL UPlugData
* U_EXPORT2
80 uplug_getPlugInternal(int32_t n
);
83 * Get the name of the plugin file.
84 * @internal - Internal use only.
86 U_INTERNAL
const char* U_EXPORT2
87 uplug_getPluginFile(void);