Re: [OpenSIPStack] Compilation error!! (My Class cannot override some of the functions declared as
Brought to you by:
joegenbaclor
From: Joegen E. B. <joe...@gm...> - 2008-08-01 07:55:32
|
May because, "indeed", there are double definition of the methods in your CPP file. I tried searching for void CSipStack::Event_PCSoundSystemInitialized and i got two hits. -joegen Koushik jaikishan wrote: > Hi to all developers, > > I am kinda stuck in the middle of compilation issues pertaining to Opensipstack project. I am on the verge of building my own GUI for Sip Phone as a whole. so I am following the pattern of OSS phone but to my pain the basic function overriding is giving me hell lot of problems... I kinda think that the compiler is either not noticing that i have subclassed Softphoneinterface which has all the event related function as Virtuals.. or else I have done some noobie mistake!! > > I will post the snippet for your convenience... > > Sipstack.h File contents > > #pragma once > > #include "SoftPhoneInterface.h" > #include "XMLParser.h" > > using namespace SF; > > class CSipStack: public SoftPhoneInterface > { > public: > > virtual void Event_PCSoundSystemInitialized(const OString & recordDevice,const OString & soundDevice); > > virtual void Event_SIPInitialized(const OString & eventInfo = OString::Empty()); > > virtual void Event_SIPInitializationError(int errorCode, const OString & errorInfo); > > virtual void Event_OutgoingCallRejected(int errorCode, const OString & errorInfo); > > virtual void Event_IncomingCallConnected(const OString & eventInfo = OString::Empty()); > > virtual void Event_CallDisconnected(const OString & eventInfo = OString::Empty()); > > virtual void Event_LoginError(int errorCode, const OString & errorInfo); > > virtual void Event_LoginSuccessful(const OString & eventInfo = OString::Empty()); > > virtual void Event_LogoutSuccessful(const OString & eventInfo = OString::Empty()); > > virtual void Event_OutgoingCallConnected(const SIPParser::SIPMessage & connect,const OString & eventInfo = OString::Empty()); > > virtual void Event_IncomingCall(const OString & eventInfo = OString::Empty()); > > virtual void Event_OutgoingCallRinging(const OString & eventInfo = OString::Empty()); > > virtual void Event_IncomingInstantMessage(const OString & senderInfo,const OString & contentType,const OString & messageBody); > > virtual void Event_RegEventStateOnline(const OString & user,const OString & domain); > > virtual void Event_RegEventStateOffLine(const OString & user,const OString & domain); > > virtual void Event_WritePacketLog(const OString & log); > > virtual void Event_ReadPacketLog(const OString & log); > > virtual void Event_Terminated(); > > virtual void Event_VolumeChanged(const unsigned speakerVolume,const unsigned micVolume); > > void LogMessage(const OString & log); > > void InitializeControls(); > > void UpdateConfiguration(); > > void SetRegistrationStatus(const OString & status); > > void UpdateCallHistory(); > > void SetCallStatus(const OString & status); > > void GetSipSettingsfromFile(); > > void OnRegistertoSipServer(); > > CSipStack(void); > ~CSipStack(void); > > public: > OString m_LogString; > BOOL m_HasTerminated; > BOOL m_IsIncomingCall; > PMutex m_LogMutex; > PMutex m_RegStatusMutex; > PMutex m_CallStatusMutex; > > CString struserId; > CString straccountId; > CString strpassword; > CString strregistrar; > CString stroutboundProxy; > OStringStream straccountAddress; > CString strstunServer; > CString strexpires; > CString strmicrophone; > CString strspeaker; > CString strlbrCodec; > CString strhbrCodec; > > CString strUserID; > CString strAccID; > CString strAccPassword; > CString strRegistrarIP; > CString strOutProxyIP; > CString strSTUNSerIP; > CString strExpDuration; > BOOL bSendReg; > BOOL bAutoLogin; > BOOL bHashReg; > BOOL bUseRFC2833; > BOOL bUseInfoMethod; > > CXMLParser XMLparserObj; > }; > > Sipstack.cpp contents: > > #include "StdAfx.h" > #include "SipStack.h" > #include "OpenSipStack.h" > > > > CSipStack::CSipStack(void) > { > > } > > CSipStack::~CSipStack(void) > { > } > > /// pure virtuals > void CSipStack::Event_PCSoundSystemInitialized( > const OString & recordDevice, > const OString & soundDevice > ) > { > } > > void CSipStack::Event_SIPInitialized( > const OString & eventInfo > ) > { > } > > void CSipStack::Event_SIPInitializationError( > int errorCode, > const OString & errorInfo > ) > { > } > > void CSipStack::Event_OutgoingCallRejected( > int errorCode, > const OString & errorInfo > ) > { > SetCallStatus( errorInfo ); > } > > void CSipStack::Event_IncomingCallConnected( > const OString & eventInfo > ) > { > //SetCallStatus( "Connected" ); > // UpdateCallHistory(); > } > > void CSipStack::Event_CallDisconnected( > const OString & eventInfo > ) > { > //SetCallStatus( "Disconnected" ); > // UpdateCallHistory(); > //m_IsIncomingCall = FALSE; > } > > void CSipStack::Event_LoginError( > int errorCode, > const OString & errorInfo > ) > { > //SetRegistrationStatus( "Registration Error" ); > } > > void CSipStack::Event_LoginSuccessful( > const OString & eventInfo > ) > { > //SetRegistrationStatus( "Online" ); > } > > void CSipStack::Event_LogoutSuccessful( > const OString & eventInfo > ) > { > // SetRegistrationStatus( "Offline" ); > } > > void CSipStack::Event_OutgoingCallConnected( > const SIPParser::SIPMessage & connect, > const OString & eventInfo > ) > { > //SetCallStatus( "Connected" ); > //UpdateCallHistory(); > } > > void CSipStack::Event_IncomingCall( > const OString & eventInfo > ) > { > //m_IsIncomingCall = TRUE; > //SetCallStatus( "eventInfo" ); > } > > void CSipStack::Event_OutgoingCallRinging( > const OString & eventInfo > ) > { > //SetCallStatus( "Ringing" ); > } > > void CSipStack::Event_IncomingInstantMessage( > const OString & senderInfo, > const OString & contentType, > const OString & messageBody > ) > { > } > > void CSipStack::Event_RegEventStateOnline( > const OString & user, > const OString & domain > ) > { > } > > void CSipStack::Event_RegEventStateOffLine( > const OString & user, > const OString & domain > ) > { > } > > void CSipStack::Event_WritePacketLog( > const OString & log > ) > { > //LogMessage( log ); > } > > void CSipStack::Event_ReadPacketLog( > const OString & log > ) > { > // LogMessage( log ); > } > > void CSipStack::LogMessage( > const OString & log > ) > { > // PWaitAndSignal lock( m_LogMutex ); > //static int logCount = 0; > //m_LogString += log; > > /* if(++logCount >= 100 ) > { > logCount = 0; > m_LogString = m_LogString.Right( m_LogString.GetLength() /2 ); > > } > > m_DiagnosticLog.SetWindowText( m_LogString.c_str() ); > > m_DiagnosticLog.SetSel( m_LogString.GetLength() - 2, m_LogString.GetLength() - 1, FALSE ); > m_DiagnosticLog.RedrawWindow();*/ > } > /// pure virtuals > void CSipStack::Event_PCSoundSystemInitialized( > const OString & recordDevice, > const OString & soundDevice > ) > { > > } > > void CSipStack::Event_SIPInitialized( > const OString & eventInfo > ) > { > } > > void CSipStack::Event_SIPInitializationError( > int errorCode, > const OString & errorInfo > ) > { > } > > void CSipStack::Event_OutgoingCallRejected( > int errorCode, > const OString & errorInfo > ) > { > SetCallStatus( errorInfo ); > } > > void CSipStack::Event_IncomingCallConnected( > const OString & eventInfo > ) > { > //SetCallStatus( "Connected" ); > // UpdateCallHistory(); > } > > void CSipStack::Event_CallDisconnected( > const OString & eventInfo > ) > { > //SetCallStatus( "Disconnected" ); > // UpdateCallHistory(); > //m_IsIncomingCall = FALSE; > } > > void CSipStack::Event_LoginError( > int errorCode, > const OString & errorInfo > ) > { > // SetRegistrationStatus( "Registration Error" ); > } > > void CSipStack::Event_LoginSuccessful( > const OString & eventInfo > ) > { > //SetRegistrationStatus( "Online" ); > } > > void CSipStack::Event_LogoutSuccessful( > const OString & eventInfo > ) > { > //SetRegistrationStatus( "Offline" ); > } > > void CSipStack::Event_OutgoingCallConnected( > const SIPParser::SIPMessage & connect, > const OString & eventInfo > ) > { > // SetCallStatus( "Connected" ); > // UpdateCallHistory(); > } > > void CSipStack::Event_IncomingCall( > const OString & eventInfo > ) > { > // m_IsIncomingCall = TRUE; > // SetCallStatus( "eventInfo" ); > } > > void CSipStack::Event_OutgoingCallRinging( > const OString & eventInfo > ) > { > //SetCallStatus( "Ringing" ); > } > > void CSipStack::Event_IncomingInstantMessage( > const OString & senderInfo, > const OString & contentType, > const OString & messageBody > ) > { > } > > void CSipStack::Event_RegEventStateOnline( > const OString & user, > const OString & domain > ) > { > } > > void CSipStack::Event_RegEventStateOffLine( > const OString & user, > const OString & domain > ) > { > } > > void CSipStack::Event_WritePacketLog( > const OString & log > ) > { > //LogMessage( log ); > } > > void CSipStack::Event_ReadPacketLog( > const OString & log > ) > { > //LogMessage( log ); > } > > void CSipStack::LogMessage( > const OString & log > ) > { > /*PWaitAndSignal lock( m_LogMutex ); > static int logCount = 0; > m_LogString += log; > > if(++logCount >= 100 ) > { > logCount = 0; > m_LogString = m_LogString.Right( m_LogString.GetLength() /2 ); > > } > > m_DiagnosticLog.SetWindowText( m_LogString.c_str() ); > > m_DiagnosticLog.SetSel( m_LogString.GetLength() - 2, m_LogString.GetLength() - 1, FALSE ); > m_DiagnosticLog.RedrawWindow();*/ > } > > > void CSipStack::SetRegistrationStatus( > const OString & status > ) > { > /*PWaitAndSignal lock( m_RegStatusMutex ); > OStringStream strm; > strm << "Status: " << status; > m_RegistrationStatus.SetWindowText( strm.str().c_str() );*/ > } > > void CSipStack::SetCallStatus( > const OString & status > ) > { > /*PWaitAndSignal lock( m_CallStatusMutex ); > OStringStream strm; > strm << "Status: " << status; > m_CallStatus.SetWindowText( strm.str().c_str() );*/ > } > > void CSipStack::Event_Terminated() > { > // m_HasTerminated = TRUE; > // EndDialog(0); > } > > void CSipStack::Event_VolumeChanged( > const unsigned speakerVolume, > const unsigned micVolume ) > { > // TODO: Add implementation code here later > } > > > > > Errors: > > SipStack.cpp > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(169) : error C2084: function 'void CSipStack::Event_PCSoundSystemInitialized(const Tools::OString &,const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(12) : see previous definition of 'Event_PCSoundSystemInitialized' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(176) : error C2084: function 'void CSipStack::Event_SIPInitialized(const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(14) : see previous definition of 'Event_SIPInitialized' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(183) : error C2084: function 'void CSipStack::Event_SIPInitializationError(int,const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(16) : see previous definition of 'Event_SIPInitializationError' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(190) : error C2084: function 'void CSipStack::Event_OutgoingCallRejected(int,const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(18) : see previous definition of 'Event_OutgoingCallRejected' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(197) : error C2084: function 'void CSipStack::Event_IncomingCallConnected(const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(20) : see previous definition of 'Event_IncomingCallConnected' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(205) : error C2084: function 'void CSipStack::Event_CallDisconnected(const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(22) : see previous definition of 'Event_CallDisconnected' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(215) : error C2084: function 'void CSipStack::Event_LoginError(int,const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(24) : see previous definition of 'Event_LoginError' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(222) : error C2084: function 'void CSipStack::Event_LoginSuccessful(const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(26) : see previous definition of 'Event_LoginSuccessful' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(229) : error C2084: function 'void CSipStack::Event_LogoutSuccessful(const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(28) : see previous definition of 'Event_LogoutSuccessful' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(237) : error C2084: function 'void CSipStack::Event_OutgoingCallConnected(const SIPParser::SIPMessage &,const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(30) : see previous definition of 'Event_OutgoingCallConnected' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(245) : error C2084: function 'void CSipStack::Event_IncomingCall(const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(32) : see previous definition of 'Event_IncomingCall' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(253) : error C2084: function 'void CSipStack::Event_OutgoingCallRinging(const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(34) : see previous definition of 'Event_OutgoingCallRinging' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(262) : error C2084: function 'void CSipStack::Event_IncomingInstantMessage(const Tools::OString &,const Tools::OString &,const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(36) : see previous definition of 'Event_IncomingInstantMessage' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(269) : error C2084: function 'void CSipStack::Event_RegEventStateOnline(const Tools::OString &,const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(38) : see previous definition of 'Event_RegEventStateOnline' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(276) : error C2084: function 'void CSipStack::Event_RegEventStateOffLine(const Tools::OString &,const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(40) : see previous definition of 'Event_RegEventStateOffLine' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(282) : error C2084: function 'void CSipStack::Event_WritePacketLog(const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(42) : see previous definition of 'Event_WritePacketLog' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(289) : error C2084: function 'void CSipStack::Event_ReadPacketLog(const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(44) : see previous definition of 'Event_ReadPacketLog' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(296) : error C2084: function 'void CSipStack::LogMessage(const Tools::OString &)' already has a body > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.h(50) : see previous definition of 'LogMessage' > i:\projectextreme\vqubeextreme\vqubeextreme\sipstack.cpp(413) : error C2664: 'SF::SoftPhoneInterface::SetEnablePrivacy' : cannot convert parameter 1 from 'const char [6]' to 'BOOL' > There is no context in which this conversion is possible > > > > I would be glad if anyone can help out!! > > Thanks in advance!! > > cheers > Jay > > > Unlimited freedom, unlimited storage. Get it now, on http://help.yahoo.com/l/in/yahoo/mail/yahoomail/tools/tools-08.html/ > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > opensipstack-devel mailing list > ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensipstack-devel > > No virus found in this incoming message. > Checked by AVG - http://www.avg.com > Version: 8.0.138 / Virus Database: 270.5.10/1584 - Release Date: 7/31/2008 12:00 PM > > > > |