Timestamper Class Extension
TimestampedOCDescription.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.
// TimestampedOCDescription.h : Declaration of the CTimestampedOCDescription

#ifndef __TIMESTAMPEDOCDESCRIPTION_H_
#define __TIMESTAMPEDOCDESCRIPTION_H_

#include "resource.h"       // main symbols

/////////////////////////////////////////////////////////////////////////////
// CTimestampedOCDescription
class ATL_NO_VTABLE CTimestampedOCDescription : 
  public CComObjectRootEx<CComSingleThreadModel>,
  public CComCoClass<CTimestampedOCDescription, &CLSID_TimestampedOCDescription>,
  public ITimestampedOCDescription,
  public IObjectClassDescription
{
public:
  CTimestampedOCDescription()
  {
  }

DECLARE_REGISTRY_RESOURCEID(IDR_TIMESTAMPEDOCDESCRIPTION)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_CATEGORY_MAP(CTimestampedOCDescription)
  IMPLEMENTED_CATEGORY(__uuidof(CATID_GeoObjectClassDescriptions))
END_CATEGORY_MAP()

BEGIN_COM_MAP(CTimestampedOCDescription)
  COM_INTERFACE_ENTRY(ITimestampedOCDescription)
  COM_INTERFACE_ENTRY(IObjectClassDescription)
END_COM_MAP()


public:
// ITimestampedOCDescription
// 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);
};

#endif //__TIMESTAMPEDOCDESCRIPTION_H_