// 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 _DDF_HeaderFile
#define _DDF_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <Standard_Boolean.hxx>
#include <Standard_CString.hxx>
#include <Handle_TDF_Data.hxx>
#include <Handle_TDF_Attribute.hxx>
#include <Draw_Interpretor.hxx>
class TDF_Data;
class TDF_Label;
class Standard_GUID;
class TDF_Attribute;
class DDF_Data;
class DDF_Browser;
class DDF_Transaction;
class DDF_TransactionStack;
class DDF_ListNodeOfTransactionStack;
class DDF_ListIteratorOfTransactionStack;


//! Provides facilities to manipulate data framework
//! in a Draw-Commands environment.
class DDF 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! Search in draw  directory the framewok  identified
  //! by its name <Name>. returns True if found. In that
  //! case <DF> is setted.
  Standard_EXPORT static   Standard_Boolean GetDF (Standard_CString& Name, Handle(TDF_Data)& DF, const Standard_Boolean Complain = Standard_True) ;
  
  //! Search in <DF>  the label identified by its  entry
  //! <Entry>.  returns  <True> if  found. In  that case
  //! <Label> is setted.
  Standard_EXPORT static   Standard_Boolean FindLabel (const Handle(TDF_Data)& DF, const Standard_CString Entry, TDF_Label& Label, const Standard_Boolean Complain = Standard_True) ;
  
  //! Search in <DF> the  label identified by its entry
  //! <Entry>.   if label doesn't  exist, create  and add
  //! the Label in <DF>. In that case return True.
  Standard_EXPORT static   Standard_Boolean AddLabel (const Handle(TDF_Data)& DF, const Standard_CString Entry, TDF_Label& Label) ;
  
  //! Search   in <DF> the  attribute  identified by its
  //! <ID> and its <entry>.  returns <True> if found. In
  //! that case A is setted.
  Standard_EXPORT static   Standard_Boolean Find (const Handle(TDF_Data)& DF, const Standard_CString Entry, const Standard_GUID& ID, Handle(TDF_Attribute)& A, const Standard_Boolean Complain = Standard_True) ;
  
  Standard_EXPORT static   Draw_Interpretor& ReturnLabel (Draw_Interpretor& theCommands, const TDF_Label& L) ;
  
  Standard_EXPORT static   void AllCommands (Draw_Interpretor& theCommands) ;
  
  //! Basic commands.
  Standard_EXPORT static   void BasicCommands (Draw_Interpretor& theCommands) ;
  
  //! Data framework commands
  //! create, clear & copy.
  Standard_EXPORT static   void DataCommands (Draw_Interpretor& theCommands) ;
  
  //! open commit abort a transaction
  //! undo facilities.
  Standard_EXPORT static   void TransactionCommands (Draw_Interpretor& theCommands) ;
  
  //! Browser commands .
  Standard_EXPORT static   void BrowserCommands (Draw_Interpretor& theCommands) ;




protected:





private:




friend class DDF_Data;
friend class DDF_Browser;
friend class DDF_Transaction;
friend class DDF_TransactionStack;
friend class DDF_ListNodeOfTransactionStack;
friend class DDF_ListIteratorOfTransactionStack;

};







#endif // _DDF_HeaderFile
