////////////////////////////////////////////////////////////////////////////////
//
// SpecificationEvent  -    
//
////////////////////////////////////////////////////////////////////////////////
#ifndef _SPECIFICATIONEVENT_H
#define _SPECIFICATIONEVENT_H

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

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000     

/*
enum ksSpecificationNotifyEnum
{
  ssTuningSpcStyleBeginChange    =  1,
  ssTuningSpcStyleChange         =  2,
  ssChangeCurrentSpcDescription  =  3,
  ssSpcDescriptionAdd            =  4,
  ssSpcDescriptionRemove         =  5,
  ssSpcDescriptionBeginEdit      =  6,
  ssSpcDescriptionEdit           =  7,
  ssSynchronizationBegin         =  8,
  ssSynchronization              =  9,
  ssBeginCalcPositions           = 10,
  ssCalcPositions                = 11,
  ssBeginCreateObject            = 12
};
*/

////////////////////////////////////////////////////////////////////////////////
//
// SpecificationEvent  -    
//
////////////////////////////////////////////////////////////////////////////////
class SpecificationEvent : public BaseEvent
{
public:
	SpecificationEvent( LPUNKNOWN pObject, 
                      LPDISPATCH doc, 
                      bool m_selfAdvise = true );           
  virtual ~SpecificationEvent();

protected:
  // ssTuningSpcStyleBeginChange -    
  VARIANT_BOOL TuningSpcStyleBeginChange( LPCTSTR libName, long numb );
  // ssTuningSpcStyleChange -   
  VARIANT_BOOL TuningSpcStyleChange( LPCTSTR libName, long numb, BOOL isOk );
  // ssChangeCurrentSpcDescription -    
  VARIANT_BOOL ChangeCurrentSpcDescription( LPCTSTR libName, long numb );
  // ssSpcDescriptionAdd -   
  VARIANT_BOOL SpcDescriptionAdd( LPCTSTR libName, long numb );
  // ssSpcDescriptionRemove -   
  VARIANT_BOOL SpcDescriptionRemove( LPCTSTR libName, long numb );
  // ssSpcDescriptionBeginEdit -    
  VARIANT_BOOL SpcDescriptionBeginEdit( LPCTSTR libName, long numb );
  // ssSpcDescriptionEdit -   
  VARIANT_BOOL SpcDescriptionEdit( LPCTSTR libName, long numb, BOOL isOk  );
  // ssSynchronizationBegin -  
  VARIANT_BOOL SynchronizationBegin();
  // ssSynchronization -  
  VARIANT_BOOL Synchronization();
  // ssBeginCalcPositions -    
  VARIANT_BOOL BeginCalcPositions();
  // ssCalcPositions -    
  VARIANT_BOOL CalcPositions();
  // ssBeginCreateObject -     (    ) 
  VARIANT_BOOL BeginCreateObject( long typeObj );

	DECLARE_EVENTSINK_MAP()
};

/////////////////////////////////////////////////////////////////////////////

#endif 
