// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _CDF_Session_HeaderFile
#define _CDF_Session_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_CDF_Session.hxx>

#include <Handle_CDF_Directory.hxx>
#include <Handle_CDF_Application.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_CDF_MetaDataDriver.hxx>
#include <Standard_Transient.hxx>
class CDF_Directory;
class CDF_Application;
class CDF_MetaDataDriver;
class Standard_NoSuchObject;
class Standard_MultiplyDefined;



class CDF_Session : public Standard_Transient
{

public:

  
  Standard_EXPORT CDF_Session();
  
  //! returns true if a session has been created.
  Standard_EXPORT static   Standard_Boolean Exists() ;
  
  //! returns the only one instance of Session
  //! that has been created.
  Standard_EXPORT static   Handle(CDF_Session) CurrentSession() ;
  
  //! returns the directory of the session;
  Standard_EXPORT   Handle(CDF_Directory) Directory()  const;
  
  Standard_EXPORT   Standard_Boolean HasCurrentApplication()  const;
  
  Standard_EXPORT   Handle(CDF_Application) CurrentApplication()  const;
  
  Standard_EXPORT   void SetCurrentApplication (const Handle(CDF_Application)& anApplication) ;
  
  Standard_EXPORT   void UnsetCurrentApplication() ;
  
  Standard_EXPORT   Handle(CDF_MetaDataDriver) MetaDataDriver()  const;
  
  Standard_EXPORT   void LoadDriver() ;


friend class CDF_Application;


  DEFINE_STANDARD_RTTI(CDF_Session)

protected:




private: 


  Handle(CDF_Directory) myDirectory;
  Handle(CDF_Application) myCurrentApplication;
  Standard_Boolean myHasCurrentApplication;
  Handle(CDF_MetaDataDriver) myMetaDataDriver;


};







#endif // _CDF_Session_HeaderFile
