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