[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdenetwork/kopete/protocols/msn
From:       Olivier Goffart <ogoffart () kde ! org>
Date:       2005-06-03 11:37:11
Message-ID: 1117798631.747580.6839.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 421540 by ogoffart:

webcam receiving progress,  i can already recie the IP where farsight has to connect. \
now, i need to  manage to work with farsight objects

 M  +28 -11    msnp2p.cpp  
 M  +4 -1      msnp2p.h  
 M  +2 -2      msnp2pdisplatcher.cpp  


--- trunk/KDE/kdenetwork/kopete/protocols/msn/msnp2p.cpp #421539:421540
@@ -382,16 +382,22 @@
 	
 	kdDebug(14141) << k_funcinfo << dataMessage.size() << echoS << endl;
 
-	QString secretHiddenMessage;
-	for(int pos=10; pos<dataMessage.size(); pos+=2)
+	for(uint pos=m_content.isNull() ? 10 : 0; pos<dataMessage.size(); pos+=2)
 	{
-		secretHiddenMessage+=dataMessage[pos];
+		m_content+=dataMessage[pos];
 	}
 
+	if( msgStr.dataMessageSize+msgStr.dataOffset < msgStr.totalSize )
+		return;
 	
-	kdDebug(14141) << k_funcinfo << "Secret hidden message: " << secretHiddenMessage << \
                "\n" << endl;
-	if(secretHiddenMessage.length() < 5)
-		makeSIPMessage(secretHiddenMessage);
+	kdDebug(14141) << k_funcinfo << "Message contents: " << m_content << "\n" << endl;
+	if(m_content.length() < 5)
+		makeSIPMessage(m_content);
+	else if(m_content.contains("<producer>"))
+	{
+		makeSIPMessage(m_content.replace("producer","viewer"));
+	}
+	m_content=QString::null;
 }
 
 void MSNP2PWebcam::makeSIPMessage(const QString &message)
@@ -403,11 +409,11 @@
 	dataMessage[3]=0x01;
 	dataMessage[4]=0x08;
 	dataMessage[5]=0x00;
-	dataMessage[6]=0x08;
+	dataMessage[6]=message.length()*2+2;
 	dataMessage[7]=0x00;
 	dataMessage[8]=0x00;
 	dataMessage[9]=0x00;
-	for(int f=0; f<message.length(); f++)
+	for(uint f=0; f<message.length(); f++)
 	{
 		dataMessage[10+2*f]=message[f].latin1();
 		dataMessage[11+2*f]=0x00;
@@ -447,14 +453,25 @@
 	
 	kdDebug(14141) << k_funcinfo << dataMessage.size() << echoS << endl;
 
-
-	
 	m_footer='\4';
-	sendP2PMessage(dataMessage);
+	sendBigP2PMessage(dataMessage);
 	m_footer='\0';
 }
 
+void MSNP2PWebcam::sendBigP2PMessage( const QByteArray & dataMessage)
+{
+	unsigned int size=m_totalDataSize=dataMessage.size();
+	
+	for(unsigned int f=0;f<size;f+=1200)
+	{
+		m_offset=f;
+		QByteArray dm2;
+		dm2.duplicate(dataMessage.data()+m_offset, QMIN(1200,m_totalDataSize-m_offset));
+		sendP2PMessage(dm2);
+	}
+}
 
+
 void MSNP2PWebcam::error()
 {
 	MSNP2P::error();
--- trunk/KDE/kdenetwork/kopete/protocols/msn/msnp2p.h #421539:421540
@@ -119,10 +119,13 @@
 	virtual void parseMessage(MessageStruct & );
 	virtual void error();
 
+	//this should be moved in MSNP2P
+	void sendBigP2PMessage( const QByteArray& dataMessage );
+
 //private:
 	void makeSIPMessage(const QString &message);
+	QString m_content;
 
-
 };
 #endif
 
--- trunk/KDE/kdenetwork/kopete/protocols/msn/msnp2pdisplatcher.cpp #421539:421540
@@ -369,13 +369,13 @@
 
 				p2p->makeMSNSLPMessage( OK, content);
 
-/*				content="Bridges: TRUDPv1 TCPv1\r\n"
+				content="Bridges: TRUDPv1 TCPv1\r\n"
 						"NetID: -1280904111\r\n"
 						"Conn-Type: Symmetric-NAT\r\n"
 						"UPnPNat: false\r\n"
 						"ICF: false\r\n\r\n";
 
-				p2p->makeMSNSLPMessage( INVITE, content);*/
+				p2p->makeMSNSLPMessage( INVITE, content);
 
 //				p2p->makeSIPMessage("syn");
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic