Annotation of parser3/src/main/pa_charsets.C, revision 1.11.2.10.2.2
1.1 paf 1: /** @file
2: Parser: sql driver manager implementation.
3:
1.11.2.8 paf 4: Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)
1.6 paf 5: Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.9 paf 6: */
1.1 paf 7:
1.11.2.10.2.2! (paf 8:: static const char* IDENT_CHARSETS_C="$Date: 2003/03/18 15:14:18 $";
1.1 paf 9:
10: #include "pa_charsets.h"
1.11.2.2 paf 11:
1.11.2.10 paf 12: // defines for globals
13:
14: #define CHARSET_UTF8_NAME "UTF-8"
15:
1.1 paf 16: // globals
1.11.2.10 paf 17:
1.11.2.10.2.1 (paf 18:: CharsetPtr UTF8_charset(new Charset(String* (new String(CHARSET_UTF8_NAME)),
19:: 0/*no file=system*/));
1.1 paf 20:
1.11.2.2 paf 21: Charsets charsets;
1.1 paf 22:
1.11.2.4 paf 23: // methods
1.1 paf 24:
1.11.2.2 paf 25: Charsets::Charsets() {
26: put(UTF8_charset->name(), UTF8_charset);
27: }
28:
1.11.2.10.2.1 (paf 29:: Charset& Charsets::get(const String& aname) {
1.11.2.1 paf 30: if(CharsetPtr result=Hash<key_type, value_type>::get(aname))
1.11.2.10.2.2! (paf 31:: return *result;
1.2 paf 32: else
1.8 paf 33: throw Exception("parser.runtime",
1.11.2.1 paf 34: aname,
1.2 paf 35: "unknown charset");
36: }
1.3 paf 37:
1.11.2.10.2.1 (paf 38:: void Charsets::load_charset(const String& arequest_name, const String& arequest_file_spec) {
1.3 paf 39: //we know that charset?
1.11.2.6 paf 40: if(Hash<key_type, value_type>::get(arequest_name))
1.3 paf 41: return; // don't load it then
42:
1.11.2.1 paf 43: // make global_name string on cache_pool pool
1.11.2.10.2.1 (paf 44:: const String& global_name(new String(arequest_name->cstr(charsets_pool)));
1.3 paf 45:
1.11.2.3 paf 46: put(global_name, value_type(new Charset(global_name, arequest_file_spec)));
1.4 paf 47: }
E-mail: