////////////////////////////////////////////////////////////////////////////////
//
// DocumentEvent.h
// DocumentEvent -     (Auto)
//
////////////////////////////////////////////////////////////////////////////////

#ifndef _DOCUMENTEVENT_H
#define _DOCUMENTEVENT_H

#ifndef _BASEEVENT_H
#include "BaseEvent.h"
#endif

#ifdef __LIGHT_VERSION__
  #ifndef __KL_TLB_H
  #include <kl_tlb.h>
  #endif
#else
  #ifndef __KS_TLB_H
  #include <ks_tlb.h>
  #endif
#endif


//---------------------------------------------------------------------------
// DocumentEvent -     (TEventsDispatcher)
// ---
class DocumentEvent : public BaseEvent
{
public:
  DocumentEvent( LPUNKNOWN pContainer ): BaseEvent(pContainer, DIID_ksDocumentFileNotify) {}
  ~DocumentEvent(){}

protected:
  virtual HRESULT InvokeEvent(DISPID id, BOOL & resEvent, TVariant * params);

  //  
  //   .
  BOOL BeginCloseDocument();
  //  .
  BOOL CloseDocument();
  //   .
  BOOL BeginSaveDocument( BSTR fileName );
  //  .
  BOOL SaveDocument();
  //  .
  BOOL Activate();
  //  .
  BOOL Deactivate();
};

DocumentEvent* NewDocumentEvent( IUnknown* docPtr );
#endif
