ICU-2565 add @stable, etc tags

X-SVN-Rev: 10633
This commit is contained in:
Ram Viswanadha 2002-12-12 01:01:41 +00:00
parent 3e9e4a702e
commit a4fd8aaa88
5 changed files with 290 additions and 45 deletions

View File

@ -58,6 +58,7 @@ typedef struct UParseError {
* it should be a positive integer. The default value of this field
* is -1. It will be set to 0 if the code populating this struct is not
* using line numbers.
* @stable ICU 2.0
*/
int32_t line;
@ -68,18 +69,21 @@ typedef struct UParseError {
* the start of the text.The default value of this field
* is -1. It will be set to appropriate value by the code that
* populating the struct.
* @stable ICU 2.0
*/
int32_t offset;
/**
* Textual context before the error. Null-terminated.
* May be the empty string if not implemented by parser.
* @stable ICU 2.0
*/
UChar preContext[U_PARSE_CONTEXT_LEN];
/**
* Textual context after the error. Null-terminated.
* May be the empty string if not implemented by parser.
* @stable ICU 2.0
*/
UChar postContext[U_PARSE_CONTEXT_LEN];

View File

@ -62,21 +62,49 @@
/**
* FROM_U, TO_U options for sub and skip callbacks
* FROM_U, TO_U options for sub callback
* @stable ICU 2.0
*/
#define UCNV_SUB_STOP_ON_ILLEGAL "i"
/**
* FROM_U, TO_U options for skip callback
* @stable ICU 2.0
*/
#define UCNV_SKIP_STOP_ON_ILLEGAL "i"
/**
* FROM_U_CALLBACK_ESCAPE options
* FROM_U_CALLBACK_ESCAPE option to escape the code unit according to ICU (%UXXXX)
* @stable ICU 2.0
*/
#define UCNV_ESCAPE_ICU NULL
/**
* FROM_U_CALLBACK_ESCAPE option to escape the code unit according to JAVA (\uXXXX)
* @stable ICU 2.0
*/
#define UCNV_ESCAPE_JAVA "J"
/**
* FROM_U_CALLBACK_ESCAPE option to escape the code unit according to C (\uXXXX \UXXXXXXXX)
* TO_U_CALLBACK_ESCAPE option to escape the character value accoding to C (\xXXXX)
* @stable ICU 2.0
*/
#define UCNV_ESCAPE_C "C"
/**
* FROM_U_CALLBACK_ESCAPE option to escape the code unit according to XML Decimal escape (&#DDDD)
* TO_U_CALLBACK_ESCAPE option to escape the character value accoding to XML Decimal escape (&#DDDD)
* @stable ICU 2.0
*/
#define UCNV_ESCAPE_XML_DEC "D"
/**
* FROM_U_CALLBACK_ESCAPE option to escape the code unit according to XML Hex escape (&#xXXXX)
* TO_U_CALLBACK_ESCAPE option to escape the character value accoding to XML Hex escape (&#xXXXX)
* @stable ICU 2.0
*/
#define UCNV_ESCAPE_XML_HEX "X"
/**
* FROM_U_CALLBACK_ESCAPE option to escape teh code unit according to Unicode (U+XXXXX)
* @stable ICU 2.0
*/
#define UCNV_ESCAPE_UNICODE "U"
/**
@ -123,14 +151,14 @@ typedef enum {
* @stable ICU 2.0
*/
typedef struct {
uint16_t size;
UBool flush;
UConverter *converter;
const UChar *source;
const UChar *sourceLimit;
char *target;
const char *targetLimit;
int32_t *offsets; /* *offset = blah ; offset++; */
uint16_t size; /**< The size of this struct */
UBool flush; /**< The internal state of converter will be reset and data flushed if set to TRUE */
UConverter *converter; /**< Pointer to the converter that is opened and to which this struct is passed as an argument */
const UChar *source; /**< Pointer to the source source buffer */
const UChar *sourceLimit; /**< Pointer to the limit (end + 1) of source buffer */
char *target; /**< Pointer to the target buffer */
const char *targetLimit; /**< Pointer to the limit (end + 1) of target buffer */
int32_t *offsets; /**< Pointer to the buffer that recieves the offsets. *offset = blah ; offset++; */
} UConverterFromUnicodeArgs;
@ -139,14 +167,14 @@ typedef struct {
* @stable ICU 2.0
*/
typedef struct {
uint16_t size;
UBool flush;
UConverter *converter;
const char *source;
const char *sourceLimit;
UChar *target;
const UChar *targetLimit;
int32_t *offsets;
uint16_t size; /**< The size of this struct */
UBool flush; /**< The internal state of converter will be reset and data flushed if set to TRUE */
UConverter *converter; /**< Pointer to the converter that is opened and to which this struct is passed as an argument */
const char *source; /**< Pointer to the source source buffer */
const char *sourceLimit; /**< Pointer to the limit (end + 1) of source buffer */
UChar *target; /**< Pointer to the target buffer */
const UChar *targetLimit; /**< Pointer to the limit (end + 1) of target buffer */
int32_t *offsets; /**< Pointer to the buffer that recieves the offsets. *offset = blah ; offset++; */
} UConverterToUnicodeArgs;

View File

@ -398,7 +398,7 @@ SimpleTimeZone::setEndRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
}
// -------------------------------------
#ifdef ICU_TIMEZONE_USE_DEPRECATES
// deprecated version
int32_t
SimpleTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
@ -407,7 +407,7 @@ SimpleTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
UErrorCode status = U_ZERO_ERROR;
return getOffset(era, year, month, day, dayOfWeek, millis, status);
}
#endif
int32_t
SimpleTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,

View File

@ -64,6 +64,7 @@ public:
* UTC time. Although it might seem that all times could be
* converted to wall time, thus eliminating the need for this
* parameter, this is not the case.
* @stable ICU 2.0
*/
enum TimeMode {
WALL_TIME = 0,
@ -162,14 +163,88 @@ public:
int8_t savingsEndMonth, int8_t savingsEndDayOfWeekInMonth,
int8_t savingsEndDayOfWeek, int32_t savingsEndTime,
UErrorCode& status);
/**
* Construct a SimpleTimeZone with the given raw GMT offset, time zone ID,
* and times to start and end daylight savings time. To create a TimeZone that
* doesn't observe daylight savings time, don't use this constructor; use
* SimpleTimeZone(rawOffset, ID) instead. Normally, you should use
* TimeZone.createInstance() to create a TimeZone instead of creating a
* SimpleTimeZone directly with this constructor.
* <P>
* Various types of daylight-savings time rules can be specfied by using different
* values for startDay and startDayOfWeek and endDay and endDayOfWeek. For a
* complete explanation of how these parameters work, see the documentation for
* setStartRule().
*
* @param rawOffsetGMT The new SimpleTimeZone's raw GMT offset
* @param ID The new SimpleTimeZone's time zone ID.
* @param savingsStartMonth The daylight savings starting month. Month is
* 0-based. eg, 0 for January.
* @param savingsStartDayOfWeekInMonth The daylight savings starting
* day-of-week-in-month. See setStartRule() for a
* complete explanation.
* @param savingsStartDayOfWeek The daylight savings starting day-of-week.
* See setStartRule() for a complete explanation.
* @param savingsStartTime The daylight savings starting time, expressed as the
* number of milliseconds after midnight.
* @param savingsEndMonth The daylight savings ending month. Month is
* 0-based. eg, 0 for January.
* @param savingsEndDayOfWeekInMonth The daylight savings ending day-of-week-in-month.
* See setStartRule() for a complete explanation.
* @param savingsEndDayOfWeek The daylight savings ending day-of-week.
* See setStartRule() for a complete explanation.
* @param savingsEndTime The daylight savings ending time, expressed as the
* number of milliseconds after midnight.
* @param savingsDST The number of milliseconds added to standard time
* to get DST time. Default is one hour.
* @param status An UErrorCode to receive the status.
* @stable ICU 2.0
*/
SimpleTimeZone(int32_t rawOffsetGMT, const UnicodeString& ID,
int8_t savingsStartMonth, int8_t savingsStartDayOfWeekInMonth,
int8_t savingsStartDayOfWeek, int32_t savingsStartTime,
int8_t savingsEndMonth, int8_t savingsEndDayOfWeekInMonth,
int8_t savingsEndDayOfWeek, int32_t savingsEndTime,
int32_t savingsDST, UErrorCode& status);
/**
* Construct a SimpleTimeZone with the given raw GMT offset, time zone ID,
* and times to start and end daylight savings time. To create a TimeZone that
* doesn't observe daylight savings time, don't use this constructor; use
* SimpleTimeZone(rawOffset, ID) instead. Normally, you should use
* TimeZone.createInstance() to create a TimeZone instead of creating a
* SimpleTimeZone directly with this constructor.
* <P>
* Various types of daylight-savings time rules can be specfied by using different
* values for startDay and startDayOfWeek and endDay and endDayOfWeek. For a
* complete explanation of how these parameters work, see the documentation for
* setStartRule().
*
* @param rawOffsetGMT The new SimpleTimeZone's raw GMT offset
* @param ID The new SimpleTimeZone's time zone ID.
* @param savingsStartMonth The daylight savings starting month. Month is
* 0-based. eg, 0 for January.
* @param savingsStartDayOfWeekInMonth The daylight savings starting
* day-of-week-in-month. See setStartRule() for a
* complete explanation.
* @param savingsStartDayOfWeek The daylight savings starting day-of-week.
* See setStartRule() for a complete explanation.
* @param savingsStartTime The daylight savings starting time, expressed as the
* number of milliseconds after midnight.
* @param savingsEndMonth The daylight savings ending month. Month is
* 0-based. eg, 0 for January.
* @param savingsEndDayOfWeekInMonth The daylight savings ending day-of-week-in-month.
* See setStartRule() for a complete explanation.
* @param savingsEndDayOfWeek The daylight savings ending day-of-week.
* See setStartRule() for a complete explanation.
* @param savingsEndTime The daylight savings ending time, expressed as the
* number of milliseconds after midnight.
* @param savingsEndTimeMode Whether the end time is local wall time, local
* standard time, or UTC time. Default is local wall time.
* @param savingsDST The number of milliseconds added to standard time
* to get DST time. Default is one hour.
* @param status An UErrorCode to receive the status.
* @stable ICU 2.0
*/
SimpleTimeZone(int32_t rawOffsetGMT, const UnicodeString& ID,
int8_t savingsStartMonth, int8_t savingsStartDayOfWeekInMonth,
int8_t savingsStartDayOfWeek, int32_t savingsStartTime,
@ -188,6 +263,48 @@ public:
*/
void setStartYear(int32_t year);
/**
* Sets the daylight savings starting rule. For example, in the U.S., Daylight Savings
* Time starts at the first Sunday in April, at 2 AM in standard time.
* Therefore, you can set the start rule by calling:
* setStartRule(TimeFields.APRIL, 1, TimeFields.SUNDAY, 2*60*60*1000);
* The dayOfWeekInMonth and dayOfWeek parameters together specify how to calculate
* the exact starting date. Their exact meaning depend on their respective signs,
* allowing various types of rules to be constructed, as follows:<ul>
* <li>If both dayOfWeekInMonth and dayOfWeek are positive, they specify the
* day of week in the month (e.g., (2, WEDNESDAY) is the second Wednesday
* of the month).
* <li>If dayOfWeek is positive and dayOfWeekInMonth is negative, they specify
* the day of week in the month counting backward from the end of the month.
* (e.g., (-1, MONDAY) is the last Monday in the month)
* <li>If dayOfWeek is zero and dayOfWeekInMonth is positive, dayOfWeekInMonth
* specifies the day of the month, regardless of what day of the week it is.
* (e.g., (10, 0) is the tenth day of the month)
* <li>If dayOfWeek is zero and dayOfWeekInMonth is negative, dayOfWeekInMonth
* specifies the day of the month counting backward from the end of the
* month, regardless of what day of the week it is (e.g., (-2, 0) is the
* next-to-last day of the month).
* <li>If dayOfWeek is negative and dayOfWeekInMonth is positive, they specify the
* first specified day of the week on or after the specfied day of the month.
* (e.g., (15, -SUNDAY) is the first Sunday after the 15th of the month
* [or the 15th itself if the 15th is a Sunday].)
* <li>If dayOfWeek and DayOfWeekInMonth are both negative, they specify the
* last specified day of the week on or before the specified day of the month.
* (e.g., (-20, -TUESDAY) is the last Tuesday before the 20th of the month
* [or the 20th itself if the 20th is a Tuesday].)</ul>
* @param month the daylight savings starting month. Month is 0-based.
* eg, 0 for January.
* @param dayOfWeekInMonth the daylight savings starting
* day-of-week-in-month. Please see the member description for an example.
* @param dayOfWeek the daylight savings starting day-of-week. Please see
* the member description for an example.
* @param time the daylight savings starting time. Please see the member
* description for an example.
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setStartRule(int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek,
int32_t time, UErrorCode& status);
/**
* Sets the daylight savings starting rule. For example, in the U.S., Daylight Savings
* Time starts at the first Sunday in April, at 2 AM in standard time.
@ -230,12 +347,22 @@ public:
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setStartRule(int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek,
int32_t time, UErrorCode& status);
void setStartRule(int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek,
int32_t time, TimeMode mode, UErrorCode& status);
/**
* Sets the DST start rule to a fixed date within a month.
*
* @param month The month in which this rule occurs (0-based).
* @param dayOfMonth The date in that month (1-based).
* @param time The time of that day (number of millis after midnight)
* when DST takes effect in local wall time, which is
* standard time in this case.
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setStartRule(int32_t month, int32_t dayOfMonth, int32_t time,
UErrorCode& status);
/**
* Sets the DST start rule to a fixed date within a month.
*
@ -249,9 +376,6 @@ public:
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setStartRule(int32_t month, int32_t dayOfMonth, int32_t time,
UErrorCode& status);
void setStartRule(int32_t month, int32_t dayOfMonth, int32_t time,
TimeMode mode, UErrorCode& status);
@ -275,10 +399,52 @@ public:
*/
void setStartRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
int32_t time, UBool after, UErrorCode& status);
/**
* Sets the DST start rule to a weekday before or after a give date within
* a month, e.g., the first Monday on or after the 8th.
*
* @param month The month in which this rule occurs (0-based).
* @param dayOfMonth A date within that month (1-based).
* @param dayOfWeek The day of the week on which this rule occurs.
* @param time The time of that day (number of millis after midnight)
* when DST takes effect in local wall time, which is
* standard time in this case.
* @param mode whether the time is local wall time, local standard time,
* or UTC time. Default is local wall time.
* @param after If true, this rule selects the first dayOfWeek on
* or after dayOfMonth. If false, this rule selects
* the last dayOfWeek on or before dayOfMonth.
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setStartRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
int32_t time, TimeMode mode, UBool after, UErrorCode& status);
/**
* Sets the daylight savings ending rule. For example, in the U.S., Daylight
* Savings Time ends at the last (-1) Sunday in October, at 2 AM in standard time.
* Therefore, you can set the end rule by calling:
* <pre>
* . setEndRule(TimeFields.OCTOBER, -1, TimeFields.SUNDAY, 2*60*60*1000);
* </pre>
* Various other types of rules can be specified by manipulating the dayOfWeek
* and dayOfWeekInMonth parameters. For complete details, see the documentation
* for setStartRule().
*
* @param month the daylight savings ending month. Month is 0-based.
* eg, 0 for January.
* @param dayOfWeekInMonth the daylight savings ending
* day-of-week-in-month. See setStartRule() for a complete explanation.
* @param dayOfWeek the daylight savings ending day-of-week. See setStartRule()
* for a complete explanation.
* @param time the daylight savings ending time. Please see the member
* description for an example.
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setEndRule(int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek,
int32_t time, UErrorCode& status);
/**
* Sets the daylight savings ending rule. For example, in the U.S., Daylight
* Savings Time ends at the last (-1) Sunday in October, at 2 AM in standard time.
@ -303,12 +469,22 @@ public:
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setEndRule(int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek,
int32_t time, UErrorCode& status);
void setEndRule(int32_t month, int32_t dayOfWeekInMonth, int32_t dayOfWeek,
int32_t time, TimeMode mode, UErrorCode& status);
/**
* Sets the DST end rule to a fixed date within a month.
*
* @param month The month in which this rule occurs (0-based).
* @param dayOfMonth The date in that month (1-based).
* @param time The time of that day (number of millis after midnight)
* when DST ends in local wall time, which is daylight
* time in this case.
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setEndRule(int32_t month, int32_t dayOfMonth, int32_t time, UErrorCode& status);
/**
* Sets the DST end rule to a fixed date within a month.
*
@ -322,11 +498,28 @@ public:
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setEndRule(int32_t month, int32_t dayOfMonth, int32_t time, UErrorCode& status);
void setEndRule(int32_t month, int32_t dayOfMonth, int32_t time,
TimeMode mode, UErrorCode& status);
/**
* Sets the DST end rule to a weekday before or after a give date within
* a month, e.g., the first Monday on or after the 8th.
*
* @param month The month in which this rule occurs (0-based).
* @param dayOfMonth A date within that month (1-based).
* @param dayOfWeek The day of the week on which this rule occurs.
* @param time The time of that day (number of millis after midnight)
* when DST ends in local wall time, which is daylight
* time in this case.
* @param after If true, this rule selects the first dayOfWeek on
* or after dayOfMonth. If false, this rule selects
* the last dayOfWeek on or before dayOfMonth.
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setEndRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
int32_t time, UBool after, UErrorCode& status);
/**
* Sets the DST end rule to a weekday before or after a give date within
* a month, e.g., the first Monday on or after the 8th.
@ -345,9 +538,6 @@ public:
* @param status An UErrorCode
* @stable ICU 2.0
*/
void setEndRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
int32_t time, UBool after, UErrorCode& status);
void setEndRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
int32_t time, TimeMode mode, UBool after, UErrorCode& status);
@ -373,10 +563,32 @@ public:
*/
virtual int32_t getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
uint8_t dayOfWeek, int32_t millis, UErrorCode& status) const;
#ifdef ICU_TIMEZONE_USE_DEPRECATES
/**
* @obsolete ICU 1.8. Use the other getOffset() since this API will be removed in that release.
*/
virtual int32_t getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
uint8_t dayOfWeek, int32_t millis) const;
#endif
/**
* Gets the time zone offset, for current date, modified in case of
* daylight savings. This is the offset to add *to* UTC to get local time.
* @param era the era of the given date.
* @param year the year in the given date.
* @param month the month in the given date.
* Month is 0-based. e.g., 0 for January.
* @param day the day-in-month of the given date.
* @param dayOfWeek the day-of-week of the given date.
* @param milliseconds the millis in day in <em>standard</em> local time.
* @param monthLength the length of the given month in days.
* @param status An UErrorCode to receive the status.
* @return the offset to add *to* GMT to get local time.
* @stable ICU 2.0
*/
virtual int32_t getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
uint8_t dayOfWeek, int32_t milliseconds,
int32_t monthLength, UErrorCode& status) const;
/**
* Gets the time zone offset, for current date, modified in case of
* daylight savings. This is the offset to add *to* UTC to get local time.
@ -393,10 +605,6 @@ public:
* @return the offset to add *to* GMT to get local time.
* @stable ICU 2.0
*/
virtual int32_t getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
uint8_t dayOfWeek, int32_t milliseconds,
int32_t monthLength, UErrorCode& status) const;
virtual int32_t getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
uint8_t dayOfWeek, int32_t milliseconds,
int32_t monthLength, int32_t prevMonthLength,

View File

@ -224,6 +224,7 @@ u_formatMessage(const char *locale,
* @return The total buffer size needed; if greater than resultLength, the
* output was truncated.
* @see u_parseMessage
* @stable ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_vformatMessage( const char *locale,
@ -273,6 +274,7 @@ u_parseMessage( const char *locale,
* @param status A pointer to an UErrorCode to receive any errors
* specified in pattern.
* @see u_formatMessage
* @stable ICU 2.0
*/
U_CAPI void U_EXPORT2
u_vparseMessage(const char *locale,
@ -425,7 +427,7 @@ umsg_open( const UChar *pattern,
* Close a UMessageFormat.
* Once closed, a UMessageFormat may no longer be used.
* @param format The formatter to close.
* @stable ICU 2.0
* @draft ICU 2.0
*/
U_CAPI void U_EXPORT2
umsg_close(UMessageFormat* format);
@ -436,7 +438,7 @@ umsg_close(UMessageFormat* format);
* @param fmt The formatter to copy
* @param status A pointer to an UErrorCode to receive any errors.
* @return A pointer to a UDateFormat identical to fmt.
* @stable ICU 2.0
* @draft ICU 2.0
*/
U_CAPI UMessageFormat U_EXPORT2
umsg_clone(const UMessageFormat *fmt,
@ -447,6 +449,7 @@ umsg_clone(const UMessageFormat *fmt,
* format information.
* @param fmt The formatter to set
* @param locale The locale the formatter should use.
* @draft ICU 2.0
*/
U_CAPI void U_EXPORT2
umsg_setLocale(UMessageFormat *fmt,
@ -457,7 +460,7 @@ umsg_setLocale(UMessageFormat *fmt,
* format information.
* @param fmt The formatter to querry
* @return the locale.
* @stable ICU 2.0
* @draft ICU 2.0
*/
U_CAPI const char* U_EXPORT2
umsg_getLocale(UMessageFormat *fmt);
@ -533,6 +536,7 @@ umsg_format( UMessageFormat *fmt,
* specified in pattern.
* @return The total buffer size needed; if greater than resultLength,
* the output was truncated.
* @stable ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
umsg_vformat( UMessageFormat *fmt,
@ -576,6 +580,7 @@ umsg_parse( UMessageFormat *fmt,
* @param status A pointer to an UErrorCode to receive any errors
* specified in pattern.
* @see u_formatMessage
* @stable ICU 2.0
*/
U_CAPI void U_EXPORT2
umsg_vparse(UMessageFormat *fmt,