1 // File: XmlMDataStd_IntegerDriver.cxx
2 // Created: Fri Aug 24 20:46:58 2001
3 // Author: Alexnder GRIGORIEV
4 // Copyright: Open Cascade 2001
7 #include <XmlMDataStd_IntegerDriver.ixx>
8 #include <XmlObjMgt.hxx>
9 #include <TDataStd_Integer.hxx>
11 //=======================================================================
12 //function : XmlMDataStd_IntegerDriver
13 //purpose : Constructor
14 //=======================================================================
16 XmlMDataStd_IntegerDriver::XmlMDataStd_IntegerDriver
17 (const Handle(CDM_MessageDriver)& theMsgDriver)
18 : XmlMDF_ADriver (theMsgDriver, NULL)
21 //=======================================================================
24 //=======================================================================
25 Handle(TDF_Attribute) XmlMDataStd_IntegerDriver::NewEmpty() const
27 return (new TDataStd_Integer());
30 //=======================================================================
32 //purpose : persistent -> transient (retrieve)
33 //=======================================================================
34 Standard_Boolean XmlMDataStd_IntegerDriver::Paste
35 (const XmlObjMgt_Persistent& theSource,
36 const Handle(TDF_Attribute)& theTarget,
37 XmlObjMgt_RRelocationTable& ) const
39 Standard_Integer aValue;
40 XmlObjMgt_DOMString anIntStr= XmlObjMgt::GetStringValue(theSource);
42 if (anIntStr.GetInteger(aValue) == Standard_False) {
43 TCollection_ExtendedString aMessageString =
44 TCollection_ExtendedString("Cannot retrieve Integer attribute from \"")
46 WriteMessage (aMessageString);
47 return Standard_False;
50 Handle(TDataStd_Integer) anInt= Handle(TDataStd_Integer)::DownCast(theTarget);
56 //=======================================================================
58 //purpose : transient -> persistent (store)
59 //=======================================================================
60 void XmlMDataStd_IntegerDriver::Paste (const Handle(TDF_Attribute)& theSource,
61 XmlObjMgt_Persistent& theTarget,
62 XmlObjMgt_SRelocationTable& ) const
64 Handle(TDataStd_Integer) anInt= Handle(TDataStd_Integer)::DownCast(theSource);
65 XmlObjMgt::SetStringValue (theTarget, anInt->Get());