]> git.saurik.com Git - apple/icu.git/blob - icuSources/common/icuplugimp.h
ICU-461.12.tar.gz
[apple/icu.git] / icuSources / common / icuplugimp.h
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