Salome HOME
DCQ : Merge with Ecole_ete_a6.
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_AttributeTableOfString_i.hxx
1 //  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : SALOMEDS_AttributeTableOfString_i.hxx
8 //  Author : Sergey Ruin
9 //  Module : SALOME
10
11 #ifndef SALOMEDS_AttributeTableOfString_i_HeaderFile
12 #define SALOMEDS_AttributeTableOfString_i_HeaderFile
13
14 // IDL headers
15 #include "SALOMEDS_TableOfStringAttribute.hxx"
16 #include <SALOMEconfig.h>
17 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
18 #include "SALOMEDS_GenericAttribute_i.hxx"
19
20 class SALOMEDS_AttributeTableOfString_i: public virtual POA_SALOMEDS::AttributeTableOfString,
21   public virtual SALOMEDS_GenericAttribute_i {
22     
23 public:
24   
25   SALOMEDS_AttributeTableOfString_i(const Handle(SALOMEDS_TableOfStringAttribute)& theTableOfStringAttr, 
26                                      CORBA::ORB_ptr orb) 
27   {
28     _myOrb = CORBA::ORB::_duplicate(orb);
29     _myAttr = theTableOfStringAttr;
30   };
31   ~SALOMEDS_AttributeTableOfString_i() {};
32
33   virtual void SetTitle(const char* theTitle);
34   virtual char* GetTitle();
35   virtual void SetRowTitle(CORBA::Long theIndex, const char* theTitle)
36     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
37   virtual void SetRowTitles(const SALOMEDS::StringSeq& theTitles)
38     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength);
39   virtual SALOMEDS::StringSeq* GetRowTitles();
40   virtual void SetColumnTitle(CORBA::Long theIndex, const char* theTitle)
41     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
42   virtual void SetColumnTitles(const SALOMEDS::StringSeq& theTitles)
43     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength);
44   virtual SALOMEDS::StringSeq* GetColumnTitles();
45
46   virtual void SetRowUnit(CORBA::Long theIndex, const char* theUnit)
47     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
48   virtual void SetRowUnits(const SALOMEDS::StringSeq& theUnits)
49     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength);
50   virtual SALOMEDS::StringSeq* GetRowUnits();
51
52   virtual CORBA::Long GetNbRows();
53   virtual CORBA::Long GetNbColumns();
54   virtual void AddRow(const SALOMEDS::StringSeq& theData)
55     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength);
56   virtual void SetRow(CORBA::Long theRow, const SALOMEDS::StringSeq& theData)
57     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength, SALOMEDS::AttributeTableOfString::IncorrectIndex);
58   virtual SALOMEDS::StringSeq* GetRow(CORBA::Long theRow)
59     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
60   virtual void AddColumn(const SALOMEDS::StringSeq& theData)
61     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength);
62   virtual void SetColumn(CORBA::Long theColumn, const SALOMEDS::StringSeq& theData)
63     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength, SALOMEDS::AttributeTableOfString::IncorrectIndex);
64   virtual SALOMEDS::StringSeq* GetColumn(CORBA::Long theColumn)
65     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
66   virtual void PutValue(const char* theValue, CORBA::Long theRow, CORBA::Long theColumn)
67     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
68   virtual CORBA::Boolean HasValue(CORBA::Long theRow, CORBA::Long theColumn);
69   virtual char* GetValue(CORBA::Long theRow, CORBA::Long theColumn)
70     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
71
72   virtual SALOMEDS::LongSeq* GetRowSetIndices(CORBA::Long theRow);
73   virtual void SetNbColumns(CORBA::Long theNbColumns);
74
75   virtual bool ReadFromFile(const SALOMEDS::TMPFile& theStream);
76   virtual SALOMEDS::TMPFile* SaveToFile();
77
78   char* Store();
79   void Restore(const char*);
80
81 };
82
83 #endif