Salome HOME
PR: merge from tag mergeto_trunk_17Jan05
[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 #include "SALOMEDS_TableOfStringAttribute.hxx"
15 #include "SALOMEDS_GenericAttribute_i.hxx"
16
17 // IDL headers
18 #include <SALOMEconfig.h>
19 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
20
21 DEFINE_DERIVED_ATTR(AttributeTableOfString,SALOMEDS_TableOfStringAttribute,true);
22
23 class SALOMEDS_AttributeTableOfString_i: 
24   public virtual POA_SALOMEDS::AttributeTableOfString,
25   public virtual SALOMEDS_TAttributeTableOfString_i 
26 {
27   DEFINE_DERIVED_ATTR_METH_DEFAULT(AttributeTableOfString,SALOMEDS_TableOfStringAttribute);
28 public:
29   virtual void SetTitle(const char* theTitle);
30   virtual char* GetTitle();
31   virtual void SetRowTitle(CORBA::Long theIndex, const char* theTitle)
32     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
33   virtual void SetRowTitles(const SALOMEDS::StringSeq& theTitles)
34     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength);
35   virtual SALOMEDS::StringSeq* GetRowTitles();
36   virtual void SetColumnTitle(CORBA::Long theIndex, const char* theTitle)
37     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
38   virtual void SetColumnTitles(const SALOMEDS::StringSeq& theTitles)
39     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength);
40   virtual SALOMEDS::StringSeq* GetColumnTitles();
41
42   virtual void SetRowUnit(CORBA::Long theIndex, const char* theUnit)
43     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
44   virtual void SetRowUnits(const SALOMEDS::StringSeq& theUnits)
45     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength);
46   virtual SALOMEDS::StringSeq* GetRowUnits();
47
48   virtual CORBA::Long GetNbRows();
49   virtual CORBA::Long GetNbColumns();
50   virtual void AddRow(const SALOMEDS::StringSeq& theData)
51     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength);
52   virtual void SetRow(CORBA::Long theRow, const SALOMEDS::StringSeq& theData)
53     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength, SALOMEDS::AttributeTableOfString::IncorrectIndex);
54   virtual SALOMEDS::StringSeq* GetRow(CORBA::Long theRow)
55     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
56   virtual void AddColumn(const SALOMEDS::StringSeq& theData)
57     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength);
58   virtual void SetColumn(CORBA::Long theColumn, const SALOMEDS::StringSeq& theData)
59     throw (SALOMEDS::AttributeTableOfString::IncorrectArgumentLength, SALOMEDS::AttributeTableOfString::IncorrectIndex);
60   virtual SALOMEDS::StringSeq* GetColumn(CORBA::Long theColumn)
61     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
62   virtual void PutValue(const char* theValue, CORBA::Long theRow, CORBA::Long theColumn)
63     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
64   virtual CORBA::Boolean HasValue(CORBA::Long theRow, CORBA::Long theColumn);
65   virtual char* GetValue(CORBA::Long theRow, CORBA::Long theColumn)
66     throw (SALOMEDS::AttributeTableOfString::IncorrectIndex);
67
68   virtual SALOMEDS::LongSeq* GetRowSetIndices(CORBA::Long theRow);
69   virtual void SetNbColumns(CORBA::Long theNbColumns);
70
71   virtual bool ReadFromFile(const SALOMEDS::TMPFile& theStream);
72   virtual SALOMEDS::TMPFile* SaveToFile();
73
74   char* Store();
75   void Restore(const char*);
76
77 };
78
79 #endif