/*=============================================================================
 *
 *  Filename:           CPAChanl.hpp
 *  Version:            1.0
 *  Date:               03/11/97
 *  Author:             Marc Trabucato
 *
 *  Description:        definition of CPA_Channel class (decendant of CPA_SaveObject)
 *                      that contains description of a channel
 *
 *===========================================================================*/
 
#if !defined( _CPACHANL_HPP_ )
#define _CPACHANL_HPP_
 
#if defined( ACTIVE_EDITOR )
 
#include "ACP_Base.h"
 
/****************************************/
#ifndef CPA_EXPORT
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif
#endif
/****************************************/
 
/*=============================================================================
* Define : name of Family Type (for reachable constructor)
=============================================================================*/
#define C_szChannelTypeName      "Channel"
 
/*=============================================================================
* class CPA_Channel
=============================================================================*/
class CPA_Channel : public CPA_SaveObject
{
protected:
    long m_lChannelNumber;
public:
    /* constructor*/
    CPA_Channel(CPA_EditorBase *_p_oEditor, CPA_Family *_p_oOwnerFamily, char *_szChannelName, long _lChannelNumber);
    ~CPA_Channel();
 
    long        GetDataType             ( void )            { return 0; }
    void*       GetData                 ( void )            { return (void*)m_lChannelNumber; }
 
    tdeMissingCriteria  fn_eCheckUnicity ( const CString _csNewName )       { return fn_eCheckUnicityWithOwner( _csNewName ); }
 
    void fn_vNotifySave     (void)  { ASSERT(0); }
    void fn_vNotifyUnSave   (void)  { ASSERT(0); }
    void fn_vNotifyRestore  (void)  { ASSERT(0); }
    void fn_vNotifyRename   (void)  { ASSERT(0); }
 
    void    fn_vUpdateReference                 (CPA_SaveObject *pReferencedObject)  { ASSERT(0); }
    void    fn_vUpdateSectionName               (void)  { ASSERT(0); }
    CString fn_csComputeReferencedSectionName   (const CString csNewName);
};
 
#endif /* ACTIVE_EDITOR */
 
#endif /* _CPACHANL_HPP_ */
