- Add DataModel to represent huge datasets in C++
[scilab.git] / scilab / modules / graphic_objects / includes / DataModel.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET
4  *
5  *  This file must be used under the terms of the CeCILL.
6  *  This source file is licensed as described in the file COPYING, which
7  *  you should have received as part of this distribution.  The terms
8  *  are also available at
9  *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 #include <map>
14 #include <string>
15
16 extern "C" {
17 #include "BOOL.h"
18 }
19
20 class DataModel
21 {
22 private :
23     DataModel()
24     {
25         m_dataMap = new std::map<std::string, double>();
26     }
27
28 public :
29     static DataModel *get()
30     {
31         if (m_me == NULL)
32         {
33             m_me = new DataModel();
34         }
35
36         return m_me;
37     }
38
39 public :
40     BOOL setGraphicObjectProperty(char *_pstID, double _dblValue)
41     {
42         (*m_dataMap)[std::string(_pstID)] = _dblValue;
43         return TRUE;
44     }
45
46     double getGraphicObjectProperty(char *_pstID)
47     {
48         return (*m_dataMap)[std::string(_pstID)];
49     }
50
51 private :
52     static DataModel *m_me;
53     std::map<std::string, double> *m_dataMap;
54 };