Timestamper Class Extension
TimestampedFCDescription.h
// Copyright 2006 ESRI
//                 
// All rights reserved under the copyright laws of the United States
// and applicable international laws, treaties, and conventions.
// 
// You may freely redistribute and use this sample code, with or
// without modification, provided you include the original copyright
// notice and use restrictions.
// 
// See the use restrictions.
// TimestampedFCDescription.h : Declaration of the CTimestampedFCDescription

#ifndef __TIMESTAMPEDFCDESCRIPTION_H_
#define __TIMESTAMPEDFCDESCRIPTION_H_

#include "resource.h"       // main symbols

/////////////////////////////////////////////////////////////////////////////
// CTimestampedFCDescription
class ATL_NO_VTABLE CTimestampedFCDescription : 
  public CComObjectRootEx<CComSingleThreadModel>,
  public CComCoClass<CTimestampedFCDescription, &CLSID_TimestampedFCDescription>,
  public ITimestampedFCDescription,
  public IFeatureClassDescription,
  public IObjectClassDescription
{
public:
  CTimestampedFCDescription()
  {
  }

DECLARE_REGISTRY_RESOURCEID(IDR_TIMESTAMPEDFCDESCRIPTION)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_CATEGORY_MAP(CTimestampedFCDescription)
  IMPLEMENTED_CATEGORY(__uuidof(CATID_GeoObjectClassDescriptions))
END_CATEGORY_MAP()

BEGIN_COM_MAP(CTimestampedFCDescription)
  COM_INTERFACE_ENTRY(ITimestampedFCDescription)
  COM_INTERFACE_ENTRY(IFeatureClassDescription)
  COM_INTERFACE_ENTRY(IObjectClassDescription)
END_COM_MAP()

public:
// ITimestampedFCDescription
// IObjectClassDescription
  STDMETHOD(get_Name)(BSTR * Name);
  STDMETHOD(get_AliasName)(BSTR * Name);
  STDMETHOD(get_ModelName)(BSTR * Name);
  STDMETHOD(get_ModelNameUnique)(VARIANT_BOOL * IsUnique);
  STDMETHOD(get_InstanceCLSID)(IUID * * InstanceCLSID);
  STDMETHOD(get_ClassExtensionCLSID)(IUID * * ClassExtensionCLSID);
  STDMETHOD(get_RequiredFields)(IFields * * fieldDescription);

// IFeatureClassDescription
  STDMETHOD(get_FeatureType)(esriFeatureType *FeatureType);
  STDMETHOD(get_ShapeFieldName)(BSTR *Name);
};

#endif //__TIMESTAMPEDFCDESCRIPTION_H_