From dd8e7832c69a5ef484a2f3b6054a482d29275f85 Mon Sep 17 00:00:00 2001 From: deva Date: Sat, 20 May 2006 14:35:59 +0000 Subject: *** empty log message *** --- client/networksender.cc | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) (limited to 'client/networksender.cc') diff --git a/client/networksender.cc b/client/networksender.cc index 21c107c..675bdb9 100644 --- a/client/networksender.cc +++ b/client/networksender.cc @@ -28,28 +28,46 @@ #include "info.h" -NetworkSender::NetworkSender() +NetworkSender::NetworkSender(QString cpr) { ip = "192.168.0.10"; port = 6666; + + // Connect } NetworkSender::~NetworkSender() -{} - -void NetworkSender::newConnection(char *cpr) { + // Disconnect } -void NetworkSender::pushFrame(char* frame, bool freeze, bool snapshot) +void NetworkSender::pushFrame(char* framedata, bool freeze, bool snapshot) { -} + Frame *frame = new Frame((unsigned char*)framedata); + frame->freeze = freeze; + frame->shoot = snapshot; -void NetworkSender::endConnection() -{ + mutex.lock(); + framelist.push_back(frame); + mutex.unlock(); + + semaphore.release(); } void NetworkSender::run() { - // MIaV::info->info("The NetworkSender thread is running."); + while(running) { + semaphore.acquire(); + + Frame *frame = NULL; + mutex.lock(); + if(framelist.isEmpty() == false) frame = framelist.takeLast(); + mutex.unlock(); + + if(frame) { + // TODO: Send it over the network + + delete frame; + } + } } -- cgit v1.2.3