add new codesys support
[chise/ruby.git] / src / rbchise.rb
1 #!/usr/bin/env ruby
2 # rbchise compatible ruby library by eto 2003-0317
3
4 module CHISE
5
6   class DataSource #======================================================================
7     NONE = 0
8     Berkeley_DB = 1
9     #DEFAULT_CHAR_DB_DIR = "/usr/local/lib/chise/char-db"
10     DEFAULT_CHAR_DB_DIR = "d:/work/chise/char-db"
11     def initialize(type=Berkeley_DB, location = DEFAULT_CHAR_DB_DIR)
12       @type, @location = type, location
13     end
14     def close
15     end
16     def open_decofing_table(ccs)
17       DecodingTable.new(self, ccs)
18     end
19     def open_feature_table(feature)
20       FeatureTable.new(self, feature)
21     end
22   end
23
24   class AttributeTable #======================================================================
25     def open(from, to, real_subtpe, accessmask, modemask)
26     end
27     def get_value(char_id)
28       @db.get(char_id)
29     end
30     def close
31     end
32   end
33   
34   class DecodingTable #======================================================================
35     def initialize(ds, ccs)
36       @ds, @ccs = ds, ccs
37       #\82±\82±\82Åopen\82·\82é
38       @db = nil
39     end
40     def get_char(code_point)
41       @db.get(code_point)
42     end
43     def close
44     end
45   end
46   
47   class FeatureTable #======================================================================
48     def initialize(ds, feature)
49       @ds, @feature = ds, feature
50       #\82±\82±\82Åopen\82·\82é
51       @db = nil
52     end
53     def get_value(char_id)
54       @db.get(char_id)
55     end
56     def close
57     end
58   end
59   
60   class Value #======================================================================
61     def initialize(v)
62       @v = v;
63     end
64     def to_s()      @v;    end
65   end
66   
67 end
68
69 #----------------------------------------------------------------------end.