Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#if !defined( calltoDisambiguator_h )
#define calltoDisambiguator_h
//--------------------------------------------------------------------------//
//--------------------------------------------------------------------------//
// Application Header Files. //
//--------------------------------------------------------------------------//
#include "callto.h"
#include "calltoContext.h"
//--------------------------------------------------------------------------//
// interface IDisambiguator. //
//--------------------------------------------------------------------------//
class IDisambiguator { protected: // protected constructors --------------------------------//
IDisambiguator(){};
public: // public destructor ------------------------------------//
virtual ~IDisambiguator(){};
public: // public methods ----------------------------------------//
virtual HRESULT disambiguate ( const ICalltoContext * const calltoContext, IMutableCalltoCollection * const calltoCollection, const ICallto * const resolvedCallto ) = 0;
}; // End of interface IDisambiguator.
//--------------------------------------------------------------------------//
// class CGatekeeperDisambiguator. //
//--------------------------------------------------------------------------//
class CGatekeeperDisambiguator: public IDisambiguator { public: // public methods (IDisambiguator) --------------------//
virtual HRESULT disambiguate ( const ICalltoContext * const calltoContext, IMutableCalltoCollection * const calltoCollection, const ICallto * const resolvedCallto );
}; // End of CGatekeeperDisambiguator.
//--------------------------------------------------------------------------//
// class CGatewayDisambiguator. //
//--------------------------------------------------------------------------//
class CGatewayDisambiguator: public IDisambiguator { public: // public methods (IDisambiguator) --------------------//
virtual HRESULT disambiguate ( const ICalltoContext * const calltoContext, IMutableCalltoCollection * const calltoCollection, const ICallto * const resolvedCallto );
}; // End of CGatewayDisambiguator.
//--------------------------------------------------------------------------//
// class CComputerDisambiguator. //
//--------------------------------------------------------------------------//
class CComputerDisambiguator: public IDisambiguator { public: // public methods (IDisambiguator) --------------------//
virtual HRESULT disambiguate ( const ICalltoContext * const calltoContext, IMutableCalltoCollection * const calltoCollection, const ICallto * const resolvedCallto );
}; // End of CComputerDisambiguator.
//--------------------------------------------------------------------------//
// class CILSDisambiguator. //
//--------------------------------------------------------------------------//
class CILSDisambiguator: public IDisambiguator { public: // public methods (IDisambiguator) --------------------//
virtual HRESULT disambiguate ( const ICalltoContext * const calltoContext, IMutableCalltoCollection * const calltoCollection, const ICallto * const resolvedCallto );
}; // End of CILSDisambiguator.
//--------------------------------------------------------------------------//
// class CUnrecognizedDisambiguator. //
//--------------------------------------------------------------------------//
class CUnrecognizedDisambiguator: public IDisambiguator { public: // public methods (IDisambiguator) --------------------//
virtual HRESULT disambiguate ( const ICalltoContext * const calltoContext, IMutableCalltoCollection * const calltoCollection, const ICallto * const resolvedCallto );
}; // End of CUnrecognizedDisambiguator.
//--------------------------------------------------------------------------//
// class CCalltoDisambiguator. //
//--------------------------------------------------------------------------//
class CCalltoDisambiguator { public: // public constructors ------------------------------------//
CCalltoDisambiguator(void);
public: // public destructor ------------------------------------//
~CCalltoDisambiguator();
public: // public methods ----------------------------------------//
HRESULT disambiguate ( const ICalltoContext * const calltoContext, ICalltoCollection * const resolvedCalltoCollection, CCalltoCollection * const disambiguatedCalltoCollection );
private: // private methods ----------------------------------------//
bool addDisambiguator ( IDisambiguator * const disambiguator );
private: // private members ----------------------------------------//
CGatekeeperDisambiguator m_gatekeeperDisambiguator; CGatewayDisambiguator m_gatewayDisambiguator; CILSDisambiguator m_ilsDisambiguator; CComputerDisambiguator m_computerDisambiguator; CUnrecognizedDisambiguator m_unrecognizedDisambiguator;
IDisambiguator * m_disambiguators[ 5 ]; int m_registeredDisambiguators;
}; // End of class CCalltoDisambiguator.
//--------------------------------------------------------------------------//
#endif // !defined( calltoDisambiguator_h )
|