// File generated by CPPExt (Value)
//                     Copyright (C) 1991,1995 by
//  
//                      MATRA DATAVISION, FRANCE
//  
// This software is furnished in accordance with the terms and conditions
// of the contract and with the inclusion of the above copyright notice.
// This software or any other copy thereof may not be provided or otherwise
// be made available to any other person. No title to an ownership of the
// software is hereby transferred.
//  
// At the termination of the contract, the software and all copies of this
// software must be deleted.

#ifndef _WOKUtils_Param_HeaderFile
#define _WOKUtils_Param_HeaderFile

#ifndef _Handle_EDL_API_HeaderFile
#include <Handle_EDL_API.hxx>
#endif
#ifndef _Handle_TColStd_HSequenceOfAsciiString_HeaderFile
#include <Handle_TColStd_HSequenceOfAsciiString.hxx>
#endif
#ifndef _Handle_WOKUtils_Path_HeaderFile
#include <Handle_WOKUtils_Path.hxx>
#endif
#ifndef _Handle_TCollection_HAsciiString_HeaderFile
#include <Handle_TCollection_HAsciiString.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
#endif
#ifndef _Handle_WOKUtils_HSequenceOfParamItem_HeaderFile
#include <Handle_WOKUtils_HSequenceOfParamItem.hxx>
#endif
#ifndef _Handle_TColStd_HSequenceOfHAsciiString_HeaderFile
#include <Handle_TColStd_HSequenceOfHAsciiString.hxx>
#endif
#ifndef _Handle_WOKUtils_SearchList_HeaderFile
#include <Handle_WOKUtils_SearchList.hxx>
#endif
class EDL_API;
class TColStd_HSequenceOfAsciiString;
class Standard_ProgramError;
class WOKernel_FileTypeBase;
class WOKernel_FileType;
class WOKUtils_Path;
class TCollection_HAsciiString;
class WOKUtils_HSequenceOfParamItem;
class TColStd_HSequenceOfHAsciiString;
class WOKTools_MapOfHAsciiString;


#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

class WOKUtils_Param  {

public:

 // Methods PUBLIC
 // 
Standard_EXPORT WOKUtils_Param();
Standard_EXPORT   void Clear() ;
Standard_EXPORT   void SetBasicVariables ( void );
Standard_EXPORT   void SetSearchDirectories(const Handle(TColStd_HSequenceOfAsciiString)& aseq) ;
Standard_EXPORT   void SetSearchDirectories(const Handle(WOKUtils_SearchList)&);
Standard_EXPORT   Handle_TColStd_HSequenceOfAsciiString SearchDirectories() const;
Standard_EXPORT   Handle_WOKUtils_Path SearchFile(const Handle(TCollection_HAsciiString)& afilename) const;
Standard_EXPORT   void SetSubClasses(const Handle(TColStd_HSequenceOfAsciiString)& aseq) ;
Standard_EXPORT   Handle_TColStd_HSequenceOfAsciiString SubClasses() const;
Standard_EXPORT   Standard_Boolean IsSet(const Standard_CString aname) const;
Standard_EXPORT   void Set(const Standard_CString aname,const Standard_CString avalue) const;
Standard_EXPORT   void Set(const Handle(WOKUtils_HSequenceOfParamItem)& aseq) const;
Standard_EXPORT   void UnSet(const Standard_CString aname) const;
Standard_EXPORT   Handle_TCollection_HAsciiString Value(const Standard_CString aname,const Standard_Boolean usesubs = Standard_True) const;
Standard_EXPORT   Handle_TCollection_HAsciiString Eval(const Standard_CString aname,const Standard_Boolean usesubs = Standard_True) const;
Standard_EXPORT   Standard_Boolean IsClassVisible(const Standard_CString aclass) const;
Standard_EXPORT   Standard_Boolean IsFileVisible(const Handle(TCollection_HAsciiString)& afile) const;
Standard_EXPORT   Handle_WOKUtils_Path VisiblePath(const Handle(TCollection_HAsciiString)& afile) const;
Standard_EXPORT   Handle_TCollection_HAsciiString ClassLoadFlag(const Standard_CString aclass) const;
Standard_EXPORT   Handle_TCollection_HAsciiString ClassSubLoadFlag(const Standard_CString aclass,const Standard_CString asub) const;
Standard_EXPORT   Handle_TCollection_HAsciiString ClassFile(const Standard_CString aclass) const;
Standard_EXPORT   Handle_TCollection_HAsciiString ClassSubFile(const Standard_CString aclass,const Standard_CString asub) const;
Standard_EXPORT   Standard_Boolean LoadFile(const Handle(TCollection_HAsciiString)& afile,const Standard_Boolean filemaynotexist = Standard_False) const;
Standard_EXPORT   Standard_Boolean LoadParamClass(const Standard_CString aclass) const;
Standard_EXPORT   Standard_Boolean LoadParamClass(const Standard_CString aclass,const Standard_CString asub) const;
Standard_EXPORT   Standard_Boolean LoadParamClass(const Standard_CString aclass,const Handle(TColStd_HSequenceOfAsciiString)& asubseq) const;
Standard_EXPORT   Handle_WOKUtils_HSequenceOfParamItem GetClassValues(const Standard_CString aclass) const;
Standard_EXPORT   Handle_TColStd_HSequenceOfHAsciiString GetArguments(const Standard_CString aname) const;
Standard_EXPORT   void GetArguments(const Standard_CString aname,const Handle(TColStd_HSequenceOfHAsciiString)& aseq,WOKTools_MapOfHAsciiString& amap) const;
Standard_EXPORT   Standard_Boolean Write(const Handle(WOKUtils_Path)& afile,const Handle(TColStd_HSequenceOfHAsciiString)& somevars) const;
Standard_EXPORT   Standard_Boolean Write(const Handle(WOKUtils_Path)& afile,const Handle(WOKUtils_HSequenceOfParamItem)& somevars) const;


friend class WOKernel_FileTypeBase;
friend class WOKernel_FileType;



protected:

 // Methods PROTECTED
 // 


 // Fields PROTECTED
 //


private: 

 // Methods PRIVATE
 // 
Standard_EXPORT   Handle_TCollection_HAsciiString ParamClass(const Standard_CString aparamname) const;


 // Fields PRIVATE
 //
Handle_EDL_API myapi;
Handle_TColStd_HSequenceOfAsciiString mysubs;


};





// other Inline functions and methods (like "C++: function call" methods)
//


#endif
