4 #include "dl-refcounted.hh"
5 #include "dl-dvi-file.hh"
15 using DviLib::FileLoader;
16 using DviLib::DviFile;
17 using DviLib::RefCounted;
20 class Model : public RefCounted {
25 vector <Observer *> observers;
28 Model (string file_name);
30 void add_observer (Observer& o)
32 observers.push_back (&o);
36 typedef vector <Observer *>::const_iterator It;
37 for (It i = observers.begin(); i != observers.end(); ++i)
40 ModelState get_state (void) { return state; }
41 string get_error (void) {
47 DviFile *get_dvi_file (void) {
48 if (state == HAS_FILE)
53 string get_file_name (void) {
54 if (state == HAS_FILE)