From: cas Date: Wed, 24 Nov 1999 18:02:18 +0000 (+0000) Subject: Initial revision X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=57fd160ef134b388e163086662fc8882e705f9f2;p=occt-wok.git Initial revision --- diff --git a/src/CPPJini/CPPJini_ClientInfo.cdl b/src/CPPJini/CPPJini_ClientInfo.cdl new file mode 100755 index 0000000..bbafe19 --- /dev/null +++ b/src/CPPJini/CPPJini_ClientInfo.cdl @@ -0,0 +1,54 @@ +-- File: CPPJini_ClientInfo.cdl +-- Created: Wed Nov 17 09:40:25 1999 +-- Author: Eugeny PLOTNIKOV +-- +---Copyright: Matra Datavision 1999 + +private class ClientInfo from CPPJini inherits Transient from Standard + ---Purpose: stores information about client and its types + + uses + + MetaSchema from MS, + MapOfHAsciiString from WOKTools, + HAsciiString from TCollection, + ExtractionType from CPPJini + + is + + Create ( aMS : MetaSchema from MS; aName : HAsciiString from TCollection ) + returns mutable ClientInfo from CPPJini; + ---Purpose: constructor + + HasComplete ( me; aName : HAsciiString from TCollection ) + returns Boolean from Standard; + ---Purpose: checks if client has complete type + + HasIncomplete ( me; aName : HAsciiString from TCollection ) + returns Boolean from Standard; + ---Purpose: checks if client has incomplete type + + HasSemicomplete ( me; aName : HAsciiString from TCollection ) + returns Boolean from Standard; + ---Purpose: checks if client has semicomplete type + + Defined ( + me; + aName : HAsciiString from TCollection; + aType : out ExtractionType from CPPJini + ) returns Boolean from Standard; + ---Purpose: checks if client has type defined or not + + Name ( me ) returns HAsciiString from TCollection; + ---Purpose: returns field + ---C++: return const& + + fields + + myName : HAsciiString from TCollection; + myComplete : MapOfHAsciiString from WOKTools; + myIncomplete : MapOfHAsciiString from WOKTools; + mySemicomplete : MapOfHAsciiString from WOKTools; + +end ClientInfo; + diff --git a/src/CPPJini/CPPJini_ClientInfo.cxx b/src/CPPJini/CPPJini_ClientInfo.cxx new file mode 100755 index 0000000..d67b400 --- /dev/null +++ b/src/CPPJini/CPPJini_ClientInfo.cxx @@ -0,0 +1,95 @@ +#include + +#include +#include +#include + +#include + +CPPJini_ClientInfo :: CPPJini_ClientInfo ( + const Handle( MS_MetaSchema )& aMS, + const Handle( TCollection_HAsciiString )& aName + ) { + + Handle( MS_Client ) clt = aMS -> GetClient ( aName ); + + if ( clt.IsNull () ) + + ErrorMsg << "CPPJini" << "Client " << aName << " was not found" << endm; + + else { + + Handle( MS_HSequenceOfExternMet ) xtern = new MS_HSequenceOfExternMet (); + Handle( MS_HSequenceOfMemberMet ) membr = new MS_HSequenceOfMemberMet (); + + clt -> ComputeTypes ( + xtern, membr, myComplete, myIncomplete, mySemicomplete + ); + + InfoMsg << "CPPJini" << "Using client: " << aName << endm; + + } // end else + + myName = new TCollection_HAsciiString ( aName ); + +} // end CPPJini_ClientInfo :: CPPJini_ClientInfo + +Standard_Boolean CPPJini_ClientInfo :: HasComplete ( + const Handle( TCollection_HAsciiString )& aName + ) const { + + return myComplete.Contains ( aName ); + +} // end CPPJini_ClientInfo :: HasComplete + +Standard_Boolean CPPJini_ClientInfo :: HasIncomplete ( + const Handle( TCollection_HAsciiString )& aName + ) const { + + return myIncomplete.Contains ( aName ); + +} // end CPPJini_ClientInfo :: HasIncomplete + +Standard_Boolean CPPJini_ClientInfo :: HasSemicomplete ( + const Handle( TCollection_HAsciiString )& aName + ) const { + + return mySemicomplete.Contains ( aName ); + +} // end CPPJini_ClientInfo :: HasSemicomplete + +Standard_Boolean CPPJini_ClientInfo :: Defined ( + const Handle( TCollection_HAsciiString )& aName, + CPPJini_ExtractionType& aType + ) const { + + Standard_Boolean retVal = Standard_False; + + if ( myComplete.Contains ( aName ) ) { + + aType = CPPJini_COMPLETE; + retVal = Standard_True; + + } else if ( myIncomplete.Contains ( aName ) ) { + + aType = CPPJini_INCOMPLETE; + retVal = Standard_True; + + } else if ( mySemicomplete.Contains ( aName ) ) { + + aType = CPPJini_SEMICOMPLETE; + retVal = Standard_True; + + } // end if + + return retVal; + +} // end CPPJini_ClientInfo :: Defined + +const Handle( TCollection_HAsciiString )& CPPJini_ClientInfo :: Name () const { + + return myName; + +} // end CPPJini_ClientInfo :: Name + +