cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From i..@apache.org
Subject [2/3] CB-6521: Remove development branch
Date Fri, 25 Apr 2014 18:14:12 GMT
http://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization/blob/160a8ac9/src/ios/CDVGlobalization.m
----------------------------------------------------------------------
diff --git a/src/ios/CDVGlobalization.m b/src/ios/CDVGlobalization.m
deleted file mode 100644
index 8a07c8e..0000000
--- a/src/ios/CDVGlobalization.m
+++ /dev/null
@@ -1,877 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-#import "CDVGlobalization.h"
-
-@implementation CDVGlobalization
-
-- (id)initWithWebView:(UIWebView*)theWebView
-{
-    self = (CDVGlobalization*)[super initWithWebView:theWebView];
-    if (self) {
-        currentLocale = CFLocaleCopyCurrent();
-    }
-    return self;
-}
-
-- (void)getPreferredLanguage:(CDVInvokedUrlCommand*)command
-{
-    CDVPluginResult* result = nil;
-
-    NSLog(@"log1");
-    // Source: http://stackoverflow.com/questions/3910244/getting-current-device-language-in-ios
-    // (should be OK)
-    NSString* language = [[NSLocale preferredLanguages] objectAtIndex:0];
-
-    if (language) {
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObject:language forKey:@"value"];
-
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK
-                               messageAsDictionary:dictionary];
-    } else {
-        // TBD is this ever expected to happen?
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_UNKNOWN_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Unknown error" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-}
-
-- (void)getLocaleName:(CDVInvokedUrlCommand*)command
-{
-    CDVPluginResult* result = nil;
-    NSDictionary* dictionary = nil;
-
-    NSLocale* locale = [NSLocale currentLocale];
-
-    if (locale) {
-        dictionary = [NSDictionary dictionaryWithObject:[locale localeIdentifier] forKey:@"value"];
-
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-    } else {
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_UNKNOWN_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Unknown error" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-}
-
-- (void)dateToString:(CDVInvokedUrlCommand*)command
-{
-    CFDateFormatterStyle style = kCFDateFormatterShortStyle;
-    CFDateFormatterStyle dateStyle = kCFDateFormatterShortStyle;
-    CFDateFormatterStyle timeStyle = kCFDateFormatterShortStyle;
-    NSDate* date = nil;
-    NSString* dateString = nil;
-    CDVPluginResult* result = nil;
-
-    NSDictionary* options;
-
-    if ([command.arguments count] > 0) {
-        options = [command.arguments objectAtIndex:0];
-    }
-    if (!options) {
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"no options given"];
-        [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-        return;
-    }
-
-    id milliseconds = [options valueForKey:@"date"];
-
-    if (milliseconds && [milliseconds isKindOfClass:[NSNumber class]]) {
-        // get the number of seconds since 1970 and create the date object
-        date = [NSDate dateWithTimeIntervalSince1970:[milliseconds doubleValue] / 1000];
-    }
-
-    // see if any options have been specified
-    id items = [options valueForKey:@"options"];
-    if (items && [items isKindOfClass:[NSMutableDictionary class]]) {
-        NSEnumerator* enumerator = [items keyEnumerator];
-        id key;
-
-        // iterate through all the options
-        while ((key = [enumerator nextObject])) {
-            id item = [items valueForKey:key];
-
-            // make sure that only string values are present
-            if ([item isKindOfClass:[NSString class]]) {
-                // get the desired format length
-                if ([key isEqualToString:@"formatLength"]) {
-                    if ([item isEqualToString:@"short"]) {
-                        style = kCFDateFormatterShortStyle;
-                    } else if ([item isEqualToString:@"medium"]) {
-                        style = kCFDateFormatterMediumStyle;
-                    } else if ([item isEqualToString:@"long"]) {
-                        style = kCFDateFormatterLongStyle;
-                    } else if ([item isEqualToString:@"full"]) {
-                        style = kCFDateFormatterFullStyle;
-                    }
-                }
-                // get the type of date and time to generate
-                else if ([key isEqualToString:@"selector"]) {
-                    if ([item isEqualToString:@"date"]) {
-                        dateStyle = style;
-                        timeStyle = kCFDateFormatterNoStyle;
-                    } else if ([item isEqualToString:@"time"]) {
-                        dateStyle = kCFDateFormatterNoStyle;
-                        timeStyle = style;
-                    } else if ([item isEqualToString:@"date and time"]) {
-                        dateStyle = style;
-                        timeStyle = style;
-                    }
-                }
-            }
-        }
-    }
-
-    // create the formatter using the user's current default locale and formats for dates and times
-    CFDateFormatterRef formatter = CFDateFormatterCreate(kCFAllocatorDefault,
-            currentLocale,
-            dateStyle,
-            timeStyle);
-    // if we have a valid date object then call the formatter
-    if (date) {
-        dateString = (__bridge_transfer NSString*)CFDateFormatterCreateStringWithDate(kCFAllocatorDefault,
-                formatter,
-                (__bridge CFDateRef)date);
-    }
-
-    // if the date was converted to a string successfully then return the result
-    if (dateString) {
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObject:dateString forKey:@"value"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-    }
-    // error
-    else {
-        // DLog(@"GlobalizationCommand dateToString unable to format %@", [date description]);
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_FORMATTING_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Formatting error" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-
-    CFRelease(formatter);
-}
-
-- (void)stringToDate:(CDVInvokedUrlCommand*)command
-{
-    CFDateFormatterStyle style = kCFDateFormatterShortStyle;
-    CFDateFormatterStyle dateStyle = kCFDateFormatterShortStyle;
-    CFDateFormatterStyle timeStyle = kCFDateFormatterShortStyle;
-    CDVPluginResult* result = nil;
-    NSString* dateString = nil;
-    NSDateComponents* comps = nil;
-
-    NSDictionary* options;
-
-    if ([command.arguments count] > 0) {
-        options = [command.arguments objectAtIndex:0];
-    }
-    if (!options) {
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"no options given"];
-        [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-        return;
-    }
-
-    // get the string that is to be parsed for a date
-    id ms = [options valueForKey:@"dateString"];
-
-    if (ms && [ms isKindOfClass:[NSString class]]) {
-        dateString = ms;
-    }
-
-    // see if any options have been specified
-    id items = [options valueForKey:@"options"];
-    if (items && [items isKindOfClass:[NSMutableDictionary class]]) {
-        NSEnumerator* enumerator = [items keyEnumerator];
-        id key;
-
-        // iterate through all the options
-        while ((key = [enumerator nextObject])) {
-            id item = [items valueForKey:key];
-
-            // make sure that only string values are present
-            if ([item isKindOfClass:[NSString class]]) {
-                // get the desired format length
-                if ([key isEqualToString:@"formatLength"]) {
-                    if ([item isEqualToString:@"short"]) {
-                        style = kCFDateFormatterShortStyle;
-                    } else if ([item isEqualToString:@"medium"]) {
-                        style = kCFDateFormatterMediumStyle;
-                    } else if ([item isEqualToString:@"long"]) {
-                        style = kCFDateFormatterLongStyle;
-                    } else if ([item isEqualToString:@"full"]) {
-                        style = kCFDateFormatterFullStyle;
-                    }
-                }
-                // get the type of date and time to generate
-                else if ([key isEqualToString:@"selector"]) {
-                    if ([item isEqualToString:@"date"]) {
-                        dateStyle = style;
-                        timeStyle = kCFDateFormatterNoStyle;
-                    } else if ([item isEqualToString:@"time"]) {
-                        dateStyle = kCFDateFormatterNoStyle;
-                        timeStyle = style;
-                    } else if ([item isEqualToString:@"date and time"]) {
-                        dateStyle = style;
-                        timeStyle = style;
-                    }
-                }
-            }
-        }
-    }
-
-    // get the user's default settings for date and time formats
-    CFDateFormatterRef formatter = CFDateFormatterCreate(kCFAllocatorDefault,
-            currentLocale,
-            dateStyle,
-            timeStyle);
-
-    // set the parsing to be more lenient
-    CFDateFormatterSetProperty(formatter, kCFDateFormatterIsLenient, kCFBooleanTrue);
-
-    // parse tha date and time string
-    CFDateRef date = CFDateFormatterCreateDateFromString(kCFAllocatorDefault,
-            formatter,
-            (__bridge CFStringRef)dateString,
-            NULL);
-
-    // if we were able to parse the date then get the date and time components
-    if (date != NULL) {
-        NSCalendar* calendar = [NSCalendar currentCalendar];
-
-        unsigned unitFlags = NSYearCalendarUnit |
-            NSMonthCalendarUnit |
-            NSDayCalendarUnit |
-            NSHourCalendarUnit |
-            NSMinuteCalendarUnit |
-            NSSecondCalendarUnit;
-
-        comps = [calendar components:unitFlags fromDate:(__bridge NSDate*)date];
-        CFRelease(date);
-    }
-
-    // put the various elements of the date and time into a dictionary
-    if (comps != nil) {
-        NSArray* keys = [NSArray arrayWithObjects:@"year", @"month", @"day", @"hour", @"minute", @"second", @"millisecond", nil];
-        NSArray* values = [NSArray arrayWithObjects:[NSNumber numberWithInteger:[comps year]],
-            [NSNumber numberWithInteger:[comps month] - 1],
-            [NSNumber numberWithInteger:[comps day]],
-            [NSNumber numberWithInteger:[comps hour]],
-            [NSNumber numberWithInteger:[comps minute]],
-            [NSNumber numberWithInteger:[comps second]],
-            [NSNumber numberWithInteger:0],                /* iOS does not provide milliseconds */
-            nil];
-
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-    }
-    // error
-    else {
-        // Dlog(@"GlobalizationCommand stringToDate unable to parse %@", dateString);
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_PARSING_ERROR] forKey:@"code"];
-        [dictionary setValue:@"unable to parse" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-
-    CFRelease(formatter);
-}
-
-- (void)getDatePattern:(CDVInvokedUrlCommand*)command
-{
-    CFDateFormatterStyle style = kCFDateFormatterShortStyle;
-    CFDateFormatterStyle dateStyle = kCFDateFormatterShortStyle;
-    CFDateFormatterStyle timeStyle = kCFDateFormatterShortStyle;
-    CDVPluginResult* result = nil;
-
-    NSDictionary* options;
-
-    if ([command.arguments count] > 0) {
-        options = [command.arguments objectAtIndex:0];
-    }
-    if (!options) {
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"no options given"];
-        [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-        return;
-    }
-
-    // see if any options have been specified
-    id items = [options valueForKey:@"options"];
-
-    if (items && [items isKindOfClass:[NSMutableDictionary class]]) {
-        NSEnumerator* enumerator = [items keyEnumerator];
-        id key;
-
-        // iterate through all the options
-        while ((key = [enumerator nextObject])) {
-            id item = [items valueForKey:key];
-
-            // make sure that only string values are present
-            if ([item isKindOfClass:[NSString class]]) {
-                // get the desired format length
-                if ([key isEqualToString:@"formatLength"]) {
-                    if ([item isEqualToString:@"short"]) {
-                        style = kCFDateFormatterShortStyle;
-                    } else if ([item isEqualToString:@"medium"]) {
-                        style = kCFDateFormatterMediumStyle;
-                    } else if ([item isEqualToString:@"long"]) {
-                        style = kCFDateFormatterLongStyle;
-                    } else if ([item isEqualToString:@"full"]) {
-                        style = kCFDateFormatterFullStyle;
-                    }
-                }
-                // get the type of date and time to generate
-                else if ([key isEqualToString:@"selector"]) {
-                    if ([item isEqualToString:@"date"]) {
-                        dateStyle = style;
-                        timeStyle = kCFDateFormatterNoStyle;
-                    } else if ([item isEqualToString:@"time"]) {
-                        dateStyle = kCFDateFormatterNoStyle;
-                        timeStyle = style;
-                    } else if ([item isEqualToString:@"date and time"]) {
-                        dateStyle = style;
-                        timeStyle = style;
-                    }
-                }
-            }
-        }
-    }
-
-    // get the user's default settings for date and time formats
-    CFDateFormatterRef formatter = CFDateFormatterCreate(kCFAllocatorDefault,
-            currentLocale,
-            dateStyle,
-            timeStyle);
-
-    // get the date pattern to apply when formatting and parsing
-    CFStringRef datePattern = CFDateFormatterGetFormat(formatter);
-    // get the user's current time zone information
-    CFTimeZoneRef timezone = (CFTimeZoneRef)CFDateFormatterCopyProperty(formatter, kCFDateFormatterTimeZone);
-
-    // put the pattern and time zone information into the dictionary
-    if ((datePattern != nil) && (timezone != nil)) {
-        NSArray* keys = [NSArray arrayWithObjects:@"pattern", @"timezone", @"utc_offset", @"dst_offset", nil];
-        NSArray* values = [NSArray arrayWithObjects:((__bridge NSString*)datePattern),
-            [((__bridge NSTimeZone*)timezone)abbreviation],
-            [NSNumber numberWithLong:[((__bridge NSTimeZone*)timezone)secondsFromGMT]],
-            [NSNumber numberWithDouble:[((__bridge NSTimeZone*)timezone)daylightSavingTimeOffset]],
-            nil];
-
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-    }
-    // error
-    else {
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_PATTERN_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Pattern error" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-
-    if (timezone) {
-        CFRelease(timezone);
-    }
-    CFRelease(formatter);
-}
-
-- (void)getDateNames:(CDVInvokedUrlCommand*)command
-{
-    int style = CDV_FORMAT_LONG;
-    int selector = CDV_SELECTOR_MONTHS;
-    CFStringRef dataStyle = kCFDateFormatterMonthSymbols;
-    CDVPluginResult* result = nil;
-
-    NSDictionary* options;
-
-    if ([command.arguments count] > 0) {
-        options = [command.arguments objectAtIndex:0];
-    }
-    if (!options) {
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"no options given"];
-        [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-        return;
-    }
-
-    // see if any options have been specified
-    id items = [options valueForKey:@"options"];
-
-    if (items && [items isKindOfClass:[NSMutableDictionary class]]) {
-        NSEnumerator* enumerator = [items keyEnumerator];
-        id key;
-
-        // iterate through all the options
-        while ((key = [enumerator nextObject])) {
-            id item = [items valueForKey:key];
-
-            // make sure that only string values are present
-            if ([item isKindOfClass:[NSString class]]) {
-                // get the desired type of name
-                if ([key isEqualToString:@"type"]) {
-                    if ([item isEqualToString:@"narrow"]) {
-                        style = CDV_FORMAT_SHORT;
-                    } else if ([item isEqualToString:@"wide"]) {
-                        style = CDV_FORMAT_LONG;
-                    }
-                }
-                // determine if months or days are needed
-                else if ([key isEqualToString:@"item"]) {
-                    if ([item isEqualToString:@"months"]) {
-                        selector = CDV_SELECTOR_MONTHS;
-                    } else if ([item isEqualToString:@"days"]) {
-                        selector = CDV_SELECTOR_DAYS;
-                    }
-                }
-            }
-        }
-    }
-
-    CFDateFormatterRef formatter = CFDateFormatterCreate(kCFAllocatorDefault,
-            currentLocale,
-            kCFDateFormatterFullStyle,
-            kCFDateFormatterFullStyle);
-
-    if ((selector == CDV_SELECTOR_MONTHS) && (style == CDV_FORMAT_LONG)) {
-        dataStyle = kCFDateFormatterMonthSymbols;
-    } else if ((selector == CDV_SELECTOR_MONTHS) && (style == CDV_FORMAT_SHORT)) {
-        dataStyle = kCFDateFormatterShortMonthSymbols;
-    } else if ((selector == CDV_SELECTOR_DAYS) && (style == CDV_FORMAT_LONG)) {
-        dataStyle = kCFDateFormatterWeekdaySymbols;
-    } else if ((selector == CDV_SELECTOR_DAYS) && (style == CDV_FORMAT_SHORT)) {
-        dataStyle = kCFDateFormatterShortWeekdaySymbols;
-    }
-
-    CFArrayRef names = (CFArrayRef)CFDateFormatterCopyProperty(formatter, dataStyle);
-
-    if (names) {
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObject:((__bridge NSArray*)names) forKey:@"value"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-        CFRelease(names);
-    }
-    // error
-    else {
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_UNKNOWN_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Unknown error" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-
-    CFRelease(formatter);
-}
-
-- (void)isDayLightSavingsTime:(CDVInvokedUrlCommand*)command
-{
-    NSDate* date = nil;
-    CDVPluginResult* result = nil;
-
-    NSDictionary* options;
-
-    if ([command.arguments count] > 0) {
-        options = [command.arguments objectAtIndex:0];
-    }
-    if (!options) {
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"no options given"];
-        [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-        return;
-    }
-
-    id milliseconds = [options valueForKey:@"date"];
-
-    if (milliseconds && [milliseconds isKindOfClass:[NSNumber class]]) {
-        // get the number of seconds since 1970 and create the date object
-        date = [NSDate dateWithTimeIntervalSince1970:[milliseconds doubleValue] / 1000];
-    }
-
-    if (date) {
-        // get the current calendar for the user and check if the date is using DST
-        NSCalendar* calendar = [NSCalendar currentCalendar];
-        NSTimeZone* timezone = [calendar timeZone];
-        NSNumber* dst = [NSNumber numberWithBool:[timezone isDaylightSavingTimeForDate:date]];
-
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObject:dst forKey:@"dst"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-    }
-    // error
-    else {
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_UNKNOWN_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Unknown error" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-}
-
-- (void)getFirstDayOfWeek:(CDVInvokedUrlCommand*)command
-{
-    CDVPluginResult* result = nil;
-
-    NSCalendar* calendar = [NSCalendar autoupdatingCurrentCalendar];
-
-    NSNumber* day = [NSNumber numberWithInteger:[calendar firstWeekday]];
-
-    if (day) {
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObject:day forKey:@"value"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-    }
-    // error
-    else {
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_UNKNOWN_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Unknown error" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-}
-
-- (void)numberToString:(CDVInvokedUrlCommand*)command
-{
-    CDVPluginResult* result = nil;
-    CFNumberFormatterStyle style = kCFNumberFormatterDecimalStyle;
-    NSNumber* number = nil;
-
-    NSDictionary* options;
-
-    if ([command.arguments count] > 0) {
-        options = [command.arguments objectAtIndex:0];
-    }
-    if (!options) {
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"no options given"];
-        [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-        return;
-    }
-
-    id value = [options valueForKey:@"number"];
-
-    if (value && [value isKindOfClass:[NSNumber class]]) {
-        number = (NSNumber*)value;
-    }
-
-    // see if any options have been specified
-    id items = [options valueForKey:@"options"];
-    if (items && [items isKindOfClass:[NSMutableDictionary class]]) {
-        NSEnumerator* enumerator = [items keyEnumerator];
-        id key;
-
-        // iterate through all the options
-        while ((key = [enumerator nextObject])) {
-            id item = [items valueForKey:key];
-
-            // make sure that only string values are present
-            if ([item isKindOfClass:[NSString class]]) {
-                // get the desired style of formatting
-                if ([key isEqualToString:@"type"]) {
-                    if ([item isEqualToString:@"percent"]) {
-                        style = kCFNumberFormatterPercentStyle;
-                    } else if ([item isEqualToString:@"currency"]) {
-                        style = kCFNumberFormatterCurrencyStyle;
-                    } else if ([item isEqualToString:@"decimal"]) {
-                        style = kCFNumberFormatterDecimalStyle;
-                    }
-                }
-            }
-        }
-    }
-
-    CFNumberFormatterRef formatter = CFNumberFormatterCreate(kCFAllocatorDefault,
-            currentLocale,
-            style);
-
-    // get the localized string based upon the locale and user preferences
-    NSString* numberString = (__bridge_transfer NSString*)CFNumberFormatterCreateStringWithNumber(kCFAllocatorDefault,
-            formatter,
-            (__bridge CFNumberRef)number);
-
-    if (numberString) {
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObject:numberString forKey:@"value"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-    }
-    // error
-    else {
-        // DLog(@"GlobalizationCommand numberToString unable to format %@", [number stringValue]);
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_FORMATTING_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Unable to format" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-
-    CFRelease(formatter);
-}
-
-- (void)stringToNumber:(CDVInvokedUrlCommand*)command
-{
-    CDVPluginResult* result = nil;
-    CFNumberFormatterStyle style = kCFNumberFormatterDecimalStyle;
-    NSString* numberString = nil;
-    double doubleValue;
-
-    NSDictionary* options;
-
-    if ([command.arguments count] > 0) {
-        options = [command.arguments objectAtIndex:0];
-    }
-    if (!options) {
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"no options given"];
-        [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-        return;
-    }
-
-    id value = [options valueForKey:@"numberString"];
-
-    if (value && [value isKindOfClass:[NSString class]]) {
-        numberString = (NSString*)value;
-    }
-
-    // see if any options have been specified
-    id items = [options valueForKey:@"options"];
-    if (items && [items isKindOfClass:[NSMutableDictionary class]]) {
-        NSEnumerator* enumerator = [items keyEnumerator];
-        id key;
-
-        // iterate through all the options
-        while ((key = [enumerator nextObject])) {
-            id item = [items valueForKey:key];
-
-            // make sure that only string values are present
-            if ([item isKindOfClass:[NSString class]]) {
-                // get the desired style of formatting
-                if ([key isEqualToString:@"type"]) {
-                    if ([item isEqualToString:@"percent"]) {
-                        style = kCFNumberFormatterPercentStyle;
-                    } else if ([item isEqualToString:@"currency"]) {
-                        style = kCFNumberFormatterCurrencyStyle;
-                    } else if ([item isEqualToString:@"decimal"]) {
-                        style = kCFNumberFormatterDecimalStyle;
-                    }
-                }
-            }
-        }
-    }
-
-    CFNumberFormatterRef formatter = CFNumberFormatterCreate(kCFAllocatorDefault,
-            currentLocale,
-            style);
-
-    // we need to make this lenient so as to avoid problems with parsing currencies that have non-breaking space characters
-    if (style == kCFNumberFormatterCurrencyStyle) {
-        CFNumberFormatterSetProperty(formatter, kCFNumberFormatterIsLenient, kCFBooleanTrue);
-    }
-
-    // parse againist the largest type to avoid data loss
-    Boolean rc = CFNumberFormatterGetValueFromString(formatter,
-            (__bridge CFStringRef)numberString,
-            NULL,
-            kCFNumberDoubleType,
-            &doubleValue);
-
-    if (rc) {
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObject:[NSNumber numberWithDouble:doubleValue] forKey:@"value"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-    }
-    // error
-    else {
-        // DLog(@"GlobalizationCommand stringToNumber unable to parse %@", numberString);
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_PARSING_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Unable to parse" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-
-    CFRelease(formatter);
-}
-
-- (void)getNumberPattern:(CDVInvokedUrlCommand*)command
-{
-    CDVPluginResult* result = nil;
-    CFNumberFormatterStyle style = kCFNumberFormatterDecimalStyle;
-    CFStringRef symbolType = NULL;
-    NSString* symbol = @"";
-
-    NSDictionary* options;
-
-    if ([command.arguments count] > 0) {
-        options = [command.arguments objectAtIndex:0];
-    }
-    if (!options) {
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"no options given"];
-        [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-        return;
-    }
-
-    // see if any options have been specified
-    id items = [options valueForKey:@"options"];
-
-    if (items && [items isKindOfClass:[NSMutableDictionary class]]) {
-        NSEnumerator* enumerator = [items keyEnumerator];
-        id key;
-
-        // iterate through all the options
-        while ((key = [enumerator nextObject])) {
-            id item = [items valueForKey:key];
-
-            // make sure that only string values are present
-            if ([item isKindOfClass:[NSString class]]) {
-                // get the desired style of formatting
-                if ([key isEqualToString:@"type"]) {
-                    if ([item isEqualToString:@"percent"]) {
-                        style = kCFNumberFormatterPercentStyle;
-                    } else if ([item isEqualToString:@"currency"]) {
-                        style = kCFNumberFormatterCurrencyStyle;
-                    } else if ([item isEqualToString:@"decimal"]) {
-                        style = kCFNumberFormatterDecimalStyle;
-                    }
-                }
-            }
-        }
-    }
-
-    CFNumberFormatterRef formatter = CFNumberFormatterCreate(kCFAllocatorDefault,
-            currentLocale,
-            style);
-
-    NSString* numberPattern = (__bridge NSString*)CFNumberFormatterGetFormat(formatter);
-
-    if (style == kCFNumberFormatterCurrencyStyle) {
-        symbolType = kCFNumberFormatterCurrencySymbol;
-    } else if (style == kCFNumberFormatterPercentStyle) {
-        symbolType = kCFNumberFormatterPercentSymbol;
-    }
-
-    if (symbolType) {
-        symbol = (__bridge_transfer NSString*)CFNumberFormatterCopyProperty(formatter, symbolType);
-    }
-
-    NSString* decimal = (__bridge_transfer NSString*)CFNumberFormatterCopyProperty(formatter, kCFNumberFormatterDecimalSeparator);
-    NSString* grouping = (__bridge_transfer NSString*)CFNumberFormatterCopyProperty(formatter, kCFNumberFormatterGroupingSeparator);
-    NSString* posSign = (__bridge_transfer NSString*)CFNumberFormatterCopyProperty(formatter, kCFNumberFormatterPlusSign);
-    NSString* negSign = (__bridge_transfer NSString*)CFNumberFormatterCopyProperty(formatter, kCFNumberFormatterMinusSign);
-    NSNumber* fracDigits = (__bridge_transfer NSNumber*)CFNumberFormatterCopyProperty(formatter, kCFNumberFormatterMinFractionDigits);
-    NSNumber* roundingDigits = (__bridge_transfer NSNumber*)CFNumberFormatterCopyProperty(formatter, kCFNumberFormatterRoundingIncrement);
-
-    // put the pattern information into the dictionary
-    if (numberPattern != nil) {
-        NSArray* keys = [NSArray arrayWithObjects:@"pattern", @"symbol", @"fraction", @"rounding",
-            @"positive", @"negative", @"decimal", @"grouping", nil];
-        NSArray* values = [NSArray arrayWithObjects:numberPattern, symbol, fracDigits, roundingDigits,
-            posSign, negSign, decimal, grouping, nil];
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-    }
-    // error
-    else {
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_PATTERN_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Pattern error" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-
-    CFRelease(formatter);
-}
-
-- (void)getCurrencyPattern:(CDVInvokedUrlCommand*)command
-{
-    CDVPluginResult* result = nil;
-    NSString* currencyCode = nil;
-    NSString* numberPattern = nil;
-    NSString* decimal = nil;
-    NSString* grouping = nil;
-    int32_t defaultFractionDigits;
-    double roundingIncrement;
-    Boolean rc;
-
-    NSDictionary* options;
-
-    if ([command.arguments count] > 0) {
-        options = [command.arguments objectAtIndex:0];
-    }
-    if (!options) {
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"no options given"];
-        [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-        return;
-    }
-
-    id value = [options valueForKey:@"currencyCode"];
-
-    if (value && [value isKindOfClass:[NSString class]]) {
-        currencyCode = (NSString*)value;
-    }
-
-    // first see if there is base currency info available and fill in the currency_info structure
-    rc = CFNumberFormatterGetDecimalInfoForCurrencyCode((__bridge CFStringRef)currencyCode, &defaultFractionDigits, &roundingIncrement);
-
-    // now set the currency code in the formatter
-    if (rc) {
-        CFNumberFormatterRef formatter = CFNumberFormatterCreate(kCFAllocatorDefault,
-                currentLocale,
-                kCFNumberFormatterCurrencyStyle);
-
-        CFNumberFormatterSetProperty(formatter, kCFNumberFormatterCurrencyCode, (__bridge CFStringRef)currencyCode);
-        CFNumberFormatterSetProperty(formatter, kCFNumberFormatterInternationalCurrencySymbol, (__bridge CFStringRef)currencyCode);
-
-        numberPattern = (__bridge NSString*)CFNumberFormatterGetFormat(formatter);
-        decimal = (__bridge_transfer NSString*)CFNumberFormatterCopyProperty(formatter, kCFNumberFormatterCurrencyDecimalSeparator);
-        grouping = (__bridge_transfer NSString*)CFNumberFormatterCopyProperty(formatter, kCFNumberFormatterCurrencyGroupingSeparator);
-
-        NSArray* keys = [NSArray arrayWithObjects:@"pattern", @"code", @"fraction", @"rounding",
-            @"decimal", @"grouping", nil];
-        NSArray* values = [NSArray arrayWithObjects:numberPattern, currencyCode, [NSNumber numberWithInt:defaultFractionDigits],
-            [NSNumber numberWithDouble:roundingIncrement], decimal, grouping, nil];
-        NSDictionary* dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary];
-        CFRelease(formatter);
-    }
-    // error
-    else {
-        // DLog(@"GlobalizationCommand getCurrencyPattern unable to get pattern for %@", currencyCode);
-        NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
-        [dictionary setValue:[NSNumber numberWithInt:CDV_PATTERN_ERROR] forKey:@"code"];
-        [dictionary setValue:@"Unable to get pattern" forKey:@"message"];
-        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary];
-    }
-
-    [self.commandDelegate sendPluginResult:result callbackId:[command callbackId]];
-}
-
-- (void)dealloc
-{
-    if (currentLocale) {
-        CFRelease(currentLocale);
-        currentLocale = nil;
-    }
-}
-
-@end

http://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization/blob/160a8ac9/src/tizen/GlobalizationProxy.js
----------------------------------------------------------------------
diff --git a/src/tizen/GlobalizationProxy.js b/src/tizen/GlobalizationProxy.js
deleted file mode 100644
index 6f8c84e..0000000
--- a/src/tizen/GlobalizationProxy.js
+++ /dev/null
@@ -1,491 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-var argscheck = require('cordova/argscheck'),
-    GlobalizationError = require('org.apache.cordova.globalization.GlobalizationError');
-
-var globalization = {
-    /**
-    * Returns the string identifier for the client's current language.
-    * It returns the language identifier string to the successCB callback with a
-    * properties object as a parameter. If there is an error getting the language,
-    * then the errorCB callback is invoked.
-    *
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    *
-    * @return Object.value {String}: The language identifier
-    *
-    * @error GlobalizationError.UNKNOWN_ERROR
-    *
-    * Example
-    *    globalization.getPreferredLanguage(function (language) {alert('language:' + language.value + '\n');},
-    *                                function () {});
-    */
-    getPreferredLanguage:function(successCB, failureCB) {
-        console.log('exec(successCB, failureCB, "Globalization","getPreferredLanguage", []);');
-
-        tizen.systeminfo.getPropertyValue (
-            "LOCALE",
-            function (localeInfo) {
-                console.log("Cordova, getLocaleName, language is  " + localeInfo.language);
-                successCB( {"value": localeInfo.language});
-            },
-            function(error) {
-                console.log("Cordova, getLocaleName, An error occurred " + error.message);
-                failureCB(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR , "cannot retrieve language name"));
-            }
-        );
-    },
-
-    /**
-    * Returns the string identifier for the client's current locale setting.
-    * It returns the locale identifier string to the successCB callback with a
-    * properties object as a parameter. If there is an error getting the locale,
-    * then the errorCB callback is invoked.
-    *
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    *
-    * @return Object.value {String}: The locale identifier
-    *
-    * @error GlobalizationError.UNKNOWN_ERROR
-    *
-    * Example
-    *    globalization.getLocaleName(function (locale) {alert('locale:' + locale.value + '\n');},
-    *                                function () {});
-    */
-    getLocaleName:function(successCB, failureCB) {
-        tizen.systeminfo.getPropertyValue (
-            "LOCALE",
-            function (localeInfo) {
-                console.log("Cordova, getLocaleName, locale name (country) is  " + localeInfo.country);
-                successCB( {"value":localeInfo.language});
-            },
-            function(error) {
-                console.log("Cordova, getLocaleName, An error occurred " + error.message);
-                failureCB(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR , "cannot retrieve locale name"));
-            }
-        );
-    },
-
-
-    /**
-    * Returns a date formatted as a string according to the client's user preferences and
-    * calendar using the time zone of the client. It returns the formatted date string to the
-    * successCB callback with a properties object as a parameter. If there is an error
-    * formatting the date, then the errorCB callback is invoked.
-    *
-    * The defaults are: formatLenght="short" and selector="date and time"
-    *
-    * @param {Date} date
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    * @param {Object} options {optional}
-    *            formatLength {String}: 'short', 'medium', 'long', or 'full'
-    *            selector {String}: 'date', 'time', or 'date and time'
-    *
-    * @return Object.value {String}: The localized date string
-    *
-    * @error GlobalizationError.FORMATTING_ERROR
-    *
-    * Example
-    *    globalization.dateToString(new Date(),
-    *                function (date) {alert('date:' + date.value + '\n');},
-    *                function (errorCode) {alert(errorCode);},
-    *                {formatLength:'short'});
-    */
-    dateToString:function(date, successCB, failureCB, options) {
-        var dateValue = date.valueOf();
-        console.log('exec(successCB, failureCB, "Globalization", "dateToString", [{"date": dateValue, "options": options}]);');
-
-        var tzdate = null;
-        var format = null;
-
-        tzdate = new tizen.TZDate(date);
-
-        if (tzdate) {
-            if (options && (options.formatLength == 'short') ){
-                format = tzdate.toLocaleDateString();
-            }
-            else{
-                format = tzdate.toLocaleString();
-            }
-            console.log('Cordova, globalization, dateToString ' +format);
-        }
-
-        if (format)
-        {
-            successCB ({"value": format});
-        }
-        else {
-            failureCB(new GlobalizationError(GlobalizationError.FORMATTING_ERROR , "cannot format date string"));
-        }
-    },
-
-
-    /**
-    * Parses a date formatted as a string according to the client's user
-    * preferences and calendar using the time zone of the client and returns
-    * the corresponding date object. It returns the date to the successCB
-    * callback with a properties object as a parameter. If there is an error
-    * parsing the date string, then the errorCB callback is invoked.
-    *
-    * The defaults are: formatLength="short" and selector="date and time"
-    *
-    * @param {String} dateString
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    * @param {Object} options {optional}
-    *            formatLength {String}: 'short', 'medium', 'long', or 'full'
-    *            selector {String}: 'date', 'time', or 'date and time'
-    *
-    * @return    Object.year {Number}: The four digit year
-    *            Object.month {Number}: The month from (0 - 11)
-    *            Object.day {Number}: The day from (1 - 31)
-    *            Object.hour {Number}: The hour from (0 - 23)
-    *            Object.minute {Number}: The minute from (0 - 59)
-    *            Object.second {Number}: The second from (0 - 59)
-    *            Object.millisecond {Number}: The milliseconds (from 0 - 999),
-    *                                        not available on all platforms
-    *
-    * @error GlobalizationError.PARSING_ERROR
-    *
-    * Example
-    *    globalization.stringToDate('4/11/2011',
-    *                function (date) { alert('Month:' + date.month + '\n' +
-    *                    'Day:' + date.day + '\n' +
-    *                    'Year:' + date.year + '\n');},
-    *                function (errorCode) {alert(errorCode);},
-    *                {selector:'date'});
-    */
-    stringToDate:function(dateString, successCB, failureCB, options) {
-        argscheck.checkArgs('sfFO', 'Globalization.stringToDate', arguments);
-        console.log('exec(successCB, failureCB, "Globalization", "stringToDate", [{"dateString": dateString, "options": options}]);');
-
-        //not supported
-        failureCB(new GlobalizationError(GlobalizationError.PARSING_ERROR , "unsupported"));
-    },
-
-
-    /**
-    * Returns a pattern string for formatting and parsing dates according to the client's
-    * user preferences. It returns the pattern to the successCB callback with a
-    * properties object as a parameter. If there is an error obtaining the pattern,
-    * then the errorCB callback is invoked.
-    *
-    * The defaults are: formatLength="short" and selector="date and time"
-    *
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    * @param {Object} options {optional}
-    *            formatLength {String}: 'short', 'medium', 'long', or 'full'
-    *            selector {String}: 'date', 'time', or 'date and time'
-    *
-    * @return    Object.pattern {String}: The date and time pattern for formatting and parsing dates.
-    *                                    The patterns follow Unicode Technical Standard #35
-    *                                    http://unicode.org/reports/tr35/tr35-4.html
-    *            Object.timezone {String}: The abbreviated name of the time zone on the client
-    *            Object.utc_offset {Number}: The current difference in seconds between the client's
-    *                                        time zone and coordinated universal time.
-    *            Object.dst_offset {Number}: The current daylight saving time offset in seconds
-    *                                        between the client's non-daylight saving's time zone
-    *                                        and the client's daylight saving's time zone.
-    *
-    * @error GlobalizationError.PATTERN_ERROR
-    *
-    * Example
-    *    globalization.getDatePattern(
-    *                function (date) {alert('pattern:' + date.pattern + '\n');},
-    *                function () {},
-    *                {formatLength:'short'});
-    */
-    getDatePattern:function(successCB, failureCB, options) {
-        console.log(' exec(successCB, failureCB, "Globalization", "getDatePattern", [{"options": options}]);');
-
-        var shortFormat = (options) ? ( options.formatLength === 'short') : true;
-
-        var formatString = tizen.time.getDateFormat ( shortFormat);
-
-
-        var current_datetime = tizen.time.getCurrentDateTime();
-
-        // probably will require some control of operation...
-        if (formatString)
-        {
-            successCB(
-                {
-                    "pattern": formatString,
-                    "timezone": current_datetime.getTimezoneAbbreviation(),
-                    "utc_offset": current_datetime.difference(current_datetime.toUTC()).length,
-                    "dst_offset": current_datetime.isDST()
-                }
-            );
-        }
-        else {
-            failureCB(new GlobalizationError(GlobalizationError.PATTERN_ERROR , "cannot get pattern"));
-        }
-    },
-
-
-    /**
-    * Returns an array of either the names of the months or days of the week
-    * according to the client's user preferences and calendar. It returns the array of names to the
-    * successCB callback with a properties object as a parameter. If there is an error obtaining the
-    * names, then the errorCB callback is invoked.
-    *
-    * The defaults are: type="wide" and item="months"
-    *
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    * @param {Object} options {optional}
-    *            type {String}: 'narrow' or 'wide'
-    *            item {String}: 'months', or 'days'
-    *
-    * @return Object.value {Array{String}}: The array of names starting from either
-    *                                        the first month in the year or the
-    *                                        first day of the week.
-    * @error GlobalizationError.UNKNOWN_ERROR
-    *
-    * Example
-    *    globalization.getDateNames(function (names) {
-    *        for(var i = 0; i < names.value.length; i++) {
-    *            alert('Month:' + names.value[i] + '\n');}},
-    *        function () {});
-    */
-    getDateNames:function(successCB, failureCB, options) {
-        argscheck.checkArgs('fFO', 'Globalization.getDateNames', arguments);
-        console.log('exec(successCB, failureCB, "Globalization", "getDateNames", [{"options": options}]);');
-
-        failureCB(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR , "unsupported"));
-    },
-
-    /**
-    * Returns whether daylight savings time is in effect for a given date using the client's
-    * time zone and calendar. It returns whether or not daylight savings time is in effect
-    * to the successCB callback with a properties object as a parameter. If there is an error
-    * reading the date, then the errorCB callback is invoked.
-    *
-    * @param {Date} date
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    *
-    * @return Object.dst {Boolean}: The value "true" indicates that daylight savings time is
-    *                                in effect for the given date and "false" indicate that it is not.
-    *
-    * @error GlobalizationError.UNKNOWN_ERROR
-    *
-    * Example
-    *    globalization.isDayLightSavingsTime(new Date(),
-    *                function (date) {alert('dst:' + date.dst + '\n');}
-    *                function () {});
-    */
-    isDayLightSavingsTime:function(date, successCB, failureCB) {
-
-        var tzdate = null,
-            isDLS = false;
-
-        console.log('exec(successCB, failureCB, "Globalization", "isDayLightSavingsTime", [{"date": dateValue}]);');
-        console.log("date " + date + " value " + date.valueOf()) ;
-
-        tzdate = new tizen.TZDate(date);
-        if (tzdate) {
-            isDLS = false | (tzdate && tzdate.isDST());
-
-            console.log ("Cordova, globalization, isDayLightSavingsTime, " + isDLS);
-
-            successCB({"dst":isDLS});
-        }
-        else {
-            failureCB(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR , "cannot get information"));
-        }
-    },
-
-    /**
-    * Returns the first day of the week according to the client's user preferences and calendar.
-    * The days of the week are numbered starting from 1 where 1 is considered to be Sunday.
-    * It returns the day to the successCB callback with a properties object as a parameter.
-    * If there is an error obtaining the pattern, then the errorCB callback is invoked.
-    *
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    *
-    * @return Object.value {Number}: The number of the first day of the week.
-    *
-    * @error GlobalizationError.UNKNOWN_ERROR
-    *
-    * Example
-    *    globalization.getFirstDayOfWeek(function (day)
-    *                { alert('Day:' + day.value + '\n');},
-    *                function () {});
-    */
-    getFirstDayOfWeek:function(successCB, failureCB) {
-        argscheck.checkArgs('fF', 'Globalization.getFirstDayOfWeek', arguments);
-        console.log('exec(successCB, failureCB, "Globalization", "getFirstDayOfWeek", []);');
-
-        // there is no API to get the fist day of the week in Tizen Dvice API
-        successCB({value:1});
-
-        // first day of week is a settings in the date book app
-        // what about : getting the settings directly or asking the date book ?
-    },
-
-
-    /**
-    * Returns a number formatted as a string according to the client's user preferences.
-    * It returns the formatted number string to the successCB callback with a properties object as a
-    * parameter. If there is an error formatting the number, then the errorCB callback is invoked.
-    *
-    * The defaults are: type="decimal"
-    *
-    * @param {Number} number
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    * @param {Object} options {optional}
-    *            type {String}: 'decimal', "percent", or 'currency'
-    *
-    * @return Object.value {String}: The formatted number string.
-    *
-    * @error GlobalizationError.FORMATTING_ERROR
-    *
-    * Example
-    *    globalization.numberToString(3.25,
-    *                function (number) {alert('number:' + number.value + '\n');},
-    *                function () {},
-    *                {type:'decimal'});
-    */
-    numberToString:function(number, successCB, failureCB, options) {
-        argscheck.checkArgs('nfFO', 'Globalization.numberToString', arguments);
-        console.log('exec(successCB, failureCB, "Globalization", "numberToString", [{"number": number, "options": options}]);');
-        //not supported
-        failureCB(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR , "unsupported"));
-    },
-
-    /**
-    * Parses a number formatted as a string according to the client's user preferences and
-    * returns the corresponding number. It returns the number to the successCB callback with a
-    * properties object as a parameter. If there is an error parsing the number string, then
-    * the errorCB callback is invoked.
-    *
-    * The defaults are: type="decimal"
-    *
-    * @param {String} numberString
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    * @param {Object} options {optional}
-    *            type {String}: 'decimal', "percent", or 'currency'
-    *
-    * @return Object.value {Number}: The parsed number.
-    *
-    * @error GlobalizationError.PARSING_ERROR
-    *
-    * Example
-    *    globalization.stringToNumber('1234.56',
-    *                function (number) {alert('Number:' + number.value + '\n');},
-    *                function () { alert('Error parsing number');});
-    */
-    stringToNumber:function(numberString, successCB, failureCB, options) {
-        argscheck.checkArgs('sfFO', 'Globalization.stringToNumber', arguments);
-        console.log('exec(successCB, failureCB, "Globalization", "stringToNumber", [{"numberString": numberString, "options": options}]);');
-
-        //not supported
-        failureCB(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR , "unsupported"));
-    },
-
-    /**
-    * Returns a pattern string for formatting and parsing numbers according to the client's user
-    * preferences. It returns the pattern to the successCB callback with a properties object as a
-    * parameter. If there is an error obtaining the pattern, then the errorCB callback is invoked.
-    *
-    * The defaults are: type="decimal"
-    *
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    * @param {Object} options {optional}
-    *            type {String}: 'decimal', "percent", or 'currency'
-    *
-    * @return    Object.pattern {String}: The number pattern for formatting and parsing numbers.
-    *                                    The patterns follow Unicode Technical Standard #35.
-    *                                    http://unicode.org/reports/tr35/tr35-4.html
-    *            Object.symbol {String}: The symbol to be used when formatting and parsing
-    *                                    e.g., percent or currency symbol.
-    *            Object.fraction {Number}: The number of fractional digits to use when parsing and
-    *                                    formatting numbers.
-    *            Object.rounding {Number}: The rounding increment to use when parsing and formatting.
-    *            Object.positive {String}: The symbol to use for positive numbers when parsing and formatting.
-    *            Object.negative: {String}: The symbol to use for negative numbers when parsing and formatting.
-    *            Object.decimal: {String}: The decimal symbol to use for parsing and formatting.
-    *            Object.grouping: {String}: The grouping symbol to use for parsing and formatting.
-    *
-    * @error GlobalizationError.PATTERN_ERROR
-    *
-    * Example
-    *    globalization.getNumberPattern(
-    *                function (pattern) {alert('Pattern:' + pattern.pattern + '\n');},
-    *                function () {});
-    */
-    getNumberPattern:function(successCB, failureCB, options) {
-        argscheck.checkArgs('fFO', 'Globalization.getNumberPattern', arguments);
-        console.log('exec(successCB, failureCB, "Globalization", "getNumberPattern", [{"options": options}]);');
-
-        //not supported
-        failureCB(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR , "unsupported"));
-    },
-
-    /**
-    * Returns a pattern string for formatting and parsing currency values according to the client's
-    * user preferences and ISO 4217 currency code. It returns the pattern to the successCB callback with a
-    * properties object as a parameter. If there is an error obtaining the pattern, then the errorCB
-    * callback is invoked.
-    *
-    * @param {String} currencyCode
-    * @param {Function} successCB
-    * @param {Function} errorCB
-    *
-    * @return    Object.pattern {String}: The currency pattern for formatting and parsing currency values.
-    *                                    The patterns follow Unicode Technical Standard #35
-    *                                    http://unicode.org/reports/tr35/tr35-4.html
-    *            Object.code {String}: The ISO 4217 currency code for the pattern.
-    *            Object.fraction {Number}: The number of fractional digits to use when parsing and
-    *                                    formatting currency.
-    *            Object.rounding {Number}: The rounding increment to use when parsing and formatting.
-    *            Object.decimal: {String}: The decimal symbol to use for parsing and formatting.
-    *            Object.grouping: {String}: The grouping symbol to use for parsing and formatting.
-    *
-    * @error GlobalizationError.FORMATTING_ERROR
-    *
-    * Example
-    *    globalization.getCurrencyPattern('EUR',
-    *                function (currency) {alert('Pattern:' + currency.pattern + '\n');}
-    *                function () {});
-    */
-    getCurrencyPattern:function(currencyCode, successCB, failureCB) {
-        argscheck.checkArgs('sfF', 'Globalization.getCurrencyPattern', arguments);
-        console.log('exec(successCB, failureCB, "Globalization", "getCurrencyPattern", [{"currencyCode": currencyCode}]);');
-
-        //not supported
-        failureCB(new GlobalizationError(GlobalizationError.UNKNOWN_ERROR , "unsupported"));
-    }
-};
-
-module.exports = globalization;
-
-require("cordova/tizen/commandProxy").add("Globalization", module.exports);

http://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization/blob/160a8ac9/src/ubuntu/globalization.cpp
----------------------------------------------------------------------
diff --git a/src/ubuntu/globalization.cpp b/src/ubuntu/globalization.cpp
deleted file mode 100644
index 2c15017..0000000
--- a/src/ubuntu/globalization.cpp
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- *
- * Copyright 2013 Canonical Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-#include <ctime> //TODO: switch to QTimeZone (QT 5.1)
-#include <unicode/decimfmt.h>
-#include <unicode/timezone.h>
-
-#include "globalization.h"
-
-Globalization::Globalization(Cordova *cordova):
-    CPlugin(cordova) {
-}
-
-void Globalization::getPreferredLanguage(int scId, int ecId) {
-    Q_UNUSED(ecId)
-
-    QLocale locale;
-    QString lang = QLocale::languageToString(locale.language());
-    QVariantMap obj;
-    obj.insert("value", lang);
-    this->cb(scId, obj);
-}
-
-void Globalization::getLocaleName(int scId, int ecId) {
-    Q_UNUSED(ecId)
-
-    QVariantMap obj;
-    obj.insert("value", QLocale().name());
-    this->cb(scId, obj);
-}
-
-void Globalization::getFirstDayOfWeek(int scId, int ecId) {
-    Q_UNUSED(ecId)
-
-    QLocale locale;
-
-    int res;
-    if (locale.firstDayOfWeek() == Qt::Sunday) {
-        res = 1;
-    } else {
-        res = (2 - Qt::Monday) + locale.firstDayOfWeek();
-    }
-
-    QVariantMap obj;
-    obj.insert("value", res);
-    this->cb(scId, obj);
-}
-
-void Globalization::isDayLightSavingsTime(int scId, int ecId, const QVariantMap &options) {
-    time_t time = options.find("time_t")->toLongLong() / 1000;
-    const tm *desc = std::localtime(&time);
-    if (desc->tm_isdst < 0) {
-        this->callback(ecId, QString("new GlobalizationError(%1, 'information is not available');").arg(Globalization::UNKNOWN_ERROR));
-        return;
-    }
-    this->callback(scId, QString("{dst:%1}").arg(desc->tm_isdst > 0 ? "true" : "false"));
-}
-
-QLocale::FormatType translateFormat(Globalization::Format formatLength) {
-    QLocale::FormatType format = QLocale::ShortFormat;
-    switch (formatLength) {
-    case Globalization::FORMAT_FULL:
-    case Globalization::FORMAT_LONG:
-        format = QLocale::ShortFormat; // TODO: Qt cant parse string produced with QLocale::LongFormat;
-        break;
-    case Globalization::FORMAT_MEDIUM:
-        format = QLocale::ShortFormat;
-        break;
-    case Globalization::FORMAT_SHORT:
-        format = QLocale::NarrowFormat;
-        break;
-    }
-    return format;
-}
-
-void Globalization::dateToString(int scId, int ecId, const QVariantMap &options) {
-    time_t time = options.find("time_t")->toLongLong() / 1000;
-
-    Globalization::Format formatLength = static_cast<Globalization::Format>(options.find("formatLength")->toInt());
-    Globalization::Selector selector = static_cast<Globalization::Selector>(options.find("selector")->toInt());
-
-    QLocale::FormatType format = translateFormat(formatLength);
-    if (time < 0) {
-        this->callback(ecId, QString("new GlobalizationError(%1, 'unsupported operation');").arg(Globalization::FORMATTING_ERROR));
-        return;
-    }
-
-    QLocale locale;
-    QString res;
-    QDateTime dateTime = QDateTime::fromTime_t((uint)time);
-    switch (selector) {
-    case SELECTOR_ALL:
-        res = locale.toString(dateTime,format);
-        break;
-    case SELECTOR_TIME:
-        res = locale.toString(dateTime.time(), format);
-        break;
-    case SELECTOR_DATE:
-        res = locale.toString(dateTime.date(), format);
-        break;
-    }
-    QVariantMap obj;
-    obj.insert("value", res);
-    this->cb(scId, obj);
-}
-
-void Globalization::stringToDate(int scId, int ecId, const QVariantMap &options) {
-    QString dateString = options.find("dateString")->toString();
-    Globalization::Format formatLength = static_cast<Globalization::Format>(options.find("formatLength")->toInt());
-    Globalization::Selector selector = static_cast<Globalization::Selector>(options.find("selector")->toInt());
-
-    QLocale::FormatType format = translateFormat(formatLength);
-    QLocale locale;
-    bool valid(true);
-    int year(0), month(0), day(0), hour(0), minute(0), second(0), millisecond(0);
-    switch (selector) {
-    case SELECTOR_ALL:
-        {
-            QDateTime dateTime = locale.toDateTime(dateString, format);
-            valid = dateTime.isValid();
-            QTime time = dateTime.time();
-            hour = time.hour(); minute = time.minute(); second = time.second(); millisecond = time.msec();
-            QDate date = dateTime.date();
-            year = date.year(); month = date.month(); day = date.day();
-        }
-        break;
-    case SELECTOR_TIME:
-        {
-            QTime time = locale.toTime(dateString, format);
-            valid = time.isValid();
-            hour = time.hour(); minute = time.minute(); second = time.second(); millisecond = time.msec();
-        }
-        break;
-    case SELECTOR_DATE:
-        {
-            QDate date = locale.toDate(dateString, format);
-            valid = date.isValid();
-            year = date.year(); month = date.month(); day = date.day();
-        }
-        break;
-    }
-    if ((format == QLocale::NarrowFormat || format == QLocale::ShortFormat) && year < 2000 && year > 1900) {
-        year += 100;
-    }
-    if (!valid) {
-        this->callback(ecId, QString("new GlobalizationError(%1, 'parsing error')").arg(Globalization::PARSING_ERROR));
-    } else {
-        QVariantMap obj;
-        obj.insert("year", year);
-        obj.insert("month", month - 1);
-        obj.insert("day", day);
-        obj.insert("hour", hour);
-        obj.insert("minute", minute);
-        obj.insert("second", second);
-        obj.insert("millisecond", millisecond);
-        this->cb(scId, obj);
-    }
-}
-
-void Globalization::getDateNames(int scId, int ecId, const QVariantMap &options) {
-    Q_UNUSED(ecId)
-
-    int type = options.find("type")->toInt();
-    int item = options.find("item")->toInt();
-
-    QLocale::FormatType format;
-    if (type == FORMAT_SHORT)
-        format = QLocale::ShortFormat;
-    else
-        format = QLocale::LongFormat;
-    QLocale locale;
-    QList<QString> res;
-    if (item == REQUEST_DAY_NAMES) {
-        for (int i = 1; i <= 7; i++) {
-            res.append(locale.dayName(i, format));
-        }
-    } else { //REQUEST_MONTH_NAMES
-        for (int i = 1; i <= 12; i++) {
-            res.append(locale.monthName(i, format));
-        }
-    }
-
-    QString result;
-    for (QList<QString>::iterator it = res.begin(); it != res.end(); it++) {
-        result += QString("'%1',").arg(*it);
-    }
-    this->callback(scId, QString("{ value: [ %1 ]}").arg(result));
-}
-
-template<class T>
-static QString format(T number, Globalization::NumberType type) {
-    QString res;
-    QLocale locale;
-    switch (type) {
-    case Globalization::DECIMAL:
-        res = locale.toString(number);
-        break;
-    case Globalization::PERCENT:
-        res = locale.toString(number) + locale.percent();
-        break;
-    case Globalization::CURRENCY:
-        res = locale.toCurrencyString(number);
-        break;
-    };
-    return res;
-}
-
-void Globalization::numberToString(int scId, int ecId, const QVariantMap &options) {
-    Q_UNUSED(ecId)
-
-    bool isInt = options.find("isInt")->toBool();
-    NumberType type = static_cast<NumberType>(options.find("type")->toBool());
-
-    QString res;
-    if (isInt) {
-        long long number = options.find("number")->toLongLong();
-        res = format(number, type);
-    } else {
-        double number = options.find("number")->toDouble();
-        res = format(number, type);
-    }
-    this->callback(scId, QString("{ value: '%1' }").arg(res));
-}
-
-void Globalization::stringToNumber(int scId, int ecId, int type, QString string) {
-    switch ((NumberType)type) {
-    case Globalization::DECIMAL:
-        string = string.remove(QLocale().groupSeparator());
-        break;
-    case Globalization::PERCENT:
-        string = string.remove(QLocale().percent()).remove(QLocale().groupSeparator());
-        break;
-    case Globalization::CURRENCY:
-        string = string.remove(QLocale().currencySymbol()).remove(QLocale().groupSeparator());
-        break;
-    };
-    bool ok;
-    double res = QLocale().toDouble(string, &ok);
-    if (ok)
-        this->callback(scId, QString("{ value: %1 }").arg(res));
-    else
-        this->callback(ecId, QString("new GlobalizationError(%1, 'parsing error')").arg(Globalization::PARSING_ERROR));
-}
-
-static QString ustr2qstr(UnicodeString &ustr) {
-    std::string res;
-    ustr.toUTF8String(res);
-
-    return QString(res.c_str());
-}
-
-void Globalization::getNumberPattern(int scId, int ecId, int type) {
-    Q_UNUSED(ecId);
-    UErrorCode status = U_ZERO_ERROR;
-    icu::DecimalFormat icu(status);
-
-    icu::UnicodeString pattern;
-    icu.toPattern(pattern);
-
-    QLocale locale;
-    QVariantMap obj;
-
-    obj.insert("pattern", ustr2qstr(pattern));
-
-    switch ((NumberType)type) {
-    case Globalization::DECIMAL:
-        obj.insert("symbol", "");
-        break;
-    case Globalization::PERCENT:
-        obj.insert("symbol", QString(locale.percent()));
-        break;
-    case Globalization::CURRENCY:
-        obj.insert("symbol", QString(locale.currencySymbol()));
-        break;
-    };
-
-    obj.insert("fraction", icu.getMaximumFractionDigits());
-    obj.insert("rounding", icu.getRoundingIncrement());
-    obj.insert("positive", QString(locale.positiveSign()));
-    obj.insert("negative", QString(locale.negativeSign()));
-    obj.insert("decimal", QString(locale.decimalPoint()));
-    obj.insert("grouping", QString(locale.groupSeparator()));
-
-    this->cb(scId, obj);
-}
-
-static bool inDayLightSavingsTime() {
-    time_t now;
-
-    time(&now);
-
-    const tm *desc = std::localtime(&now);
-
-    return desc->tm_isdst > 0;
-}
-
-void Globalization::getDatePattern(int scId, int ecId, int formatLength, int selector) {
-    Q_UNUSED(ecId);
-
-    QLocale locale;
-    QVariantMap res;
-    QLocale::FormatType format = translateFormat((Format)formatLength);
-
-    switch ((Selector)selector) {
-    case Selector::SELECTOR_TIME:
-        res.insert("pattern", locale.timeFormat(format));
-        break;
-    case Selector::SELECTOR_DATE:
-        res.insert("pattern", locale.dateFormat(format));
-        break;
-    case Selector::SELECTOR_ALL:
-        res.insert("pattern", locale.dateTimeFormat(format));
-        break;
-    };
-
-    UnicodeString result;
-    QSharedPointer<TimeZone> timezone = QSharedPointer<TimeZone>(TimeZone::createDefault());
-    timezone->getDisplayName(inDayLightSavingsTime(), TimeZone::SHORT, result);
-
-    res.insert("timezone", ustr2qstr(result));
-    res.insert("utc_offset", timezone->getRawOffset() / 1000 + timezone->getDSTSavings() / 1000);
-    res.insert("dst_offset", timezone->getDSTSavings() / 1000);
-
-    this->cb(scId, res);
-}
-

http://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization/blob/160a8ac9/src/ubuntu/globalization.h
----------------------------------------------------------------------
diff --git a/src/ubuntu/globalization.h b/src/ubuntu/globalization.h
deleted file mode 100644
index 3f59c63..0000000
--- a/src/ubuntu/globalization.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- *
- * Copyright 2013 Canonical Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-#ifndef GLOBALIZATION_H_SVO2013
-#define GLOBALIZATION_H_SVO2013
-
-#include <QtCore>
-#include <QLocale>
-
-#include <cplugin.h>
-
-class Globalization: public CPlugin {
-    Q_OBJECT
-    enum GlobalizationError {
-        UNKNOWN_ERROR = 0,
-        FORMATTING_ERROR = 1,
-        PARSING_ERROR = 2,
-        PATTERN_ERROR = 3
-    };
-
-    enum Selector {
-        SELECTOR_DATE = 0,
-        SELECTOR_TIME = 1,
-        SELECTOR_ALL = 2
-    };
-
-    enum Format {
-        FORMAT_SHORT = 0,
-        FORMAT_MEDIUM = 1,
-        FORMAT_LONG = 2,
-        FORMAT_FULL = 3
-    };
-
-    enum {
-        REQUEST_DAY_NAMES = 0,
-        REQUEST_MONTH_NAMES = 1
-    };
-
-    enum NumberType {
-        DECIMAL,
-        PERCENT,
-        CURRENCY
-    };
-
-public:
-    explicit Globalization(Cordova *cordova);
-
-    virtual const QString fullName() override {
-        return Globalization::fullID();
-    }
-
-    virtual const QString shortName() override {
-        return "Globalization";
-    }
-
-    static const QString fullID() {
-        return "Globalization";
-    }
-
-public slots:
-    void getPreferredLanguage(int scId, int ecId);
-    void getLocaleName(int scId, int ecId);
-    void getFirstDayOfWeek(int scId, int ecId);
-    void isDayLightSavingsTime(int scId, int ecId, const QVariantMap &options);
-    void dateToString(int scId, int ecId, const QVariantMap &options);
-    void stringToDate(int scId, int ecId, const QVariantMap &options);
-
-    void getDateNames(int scId, int ecId, const QVariantMap &options);
-    void numberToString(int scId, int ecId, const QVariantMap &options);
-    void stringToNumber(int scId, int ecId, int type, QString string);
-    void getNumberPattern(int scId, int ecId, int type);
-    void getDatePattern(int scId, int ecId, int formatLength, int selector);
-private:
-    friend QLocale::FormatType translateFormat(Globalization::Format formatLength);
-    template<class T> friend QString format(T number, Globalization::NumberType type);
-};
-
-#endif


Mime
View raw message