OpenMesh
|
00001 /*===========================================================================*\ 00002 * * 00003 * OpenMesh * 00004 * Copyright (C) 2001-2011 by Computer Graphics Group, RWTH Aachen * 00005 * www.openmesh.org * 00006 * * 00007 *---------------------------------------------------------------------------* 00008 * This file is part of OpenMesh. * 00009 * * 00010 * OpenMesh is free software: you can redistribute it and/or modify * 00011 * it under the terms of the GNU Lesser General Public License as * 00012 * published by the Free Software Foundation, either version 3 of * 00013 * the License, or (at your option) any later version with the * 00014 * following exceptions: * 00015 * * 00016 * If other files instantiate templates or use macros * 00017 * or inline functions from this file, or you compile this file and * 00018 * link it with other files to produce an executable, this file does * 00019 * not by itself cause the resulting executable to be covered by the * 00020 * GNU Lesser General Public License. This exception does not however * 00021 * invalidate any other reasons why the executable file might be * 00022 * covered by the GNU Lesser General Public License. * 00023 * * 00024 * OpenMesh is distributed in the hope that it will be useful, * 00025 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00026 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00027 * GNU Lesser General Public License for more details. * 00028 * * 00029 * You should have received a copy of the GNU LesserGeneral Public * 00030 * License along with OpenMesh. If not, * 00031 * see <http://www.gnu.org/licenses/>. * 00032 * * 00033 \*===========================================================================*/ 00034 00035 /*===========================================================================*\ 00036 * * 00037 * $Revision: 362 $ * 00038 * $Date: 2011-01-26 10:21:12 +0100 (Mi, 26 Jan 2011) $ * 00039 * * 00040 \*===========================================================================*/ 00041 00042 #ifndef OPENMESH_APP_VDPMSTREAMING_SERVER_VDPMSTREAMINGSERVERWIDGET_HH 00043 #define OPENMESH_APP_VDPMSTREAMING_SERVER_VDPMSTREAMINGSERVERWIDGET_HH 00044 00045 #include <QApplication> 00046 #include <QWidget> 00047 #include <QFileDialog> 00048 #include <QString> 00049 #include <OpenMesh/Apps/VDProgMesh/Streaming/Server/ServerSideVDPM.hh> 00050 #include <OpenMesh/Apps/VDProgMesh/Streaming/Server/VDPMServerSocket.hh> 00051 #include <OpenMesh/Apps/VDProgMesh/Streaming/Server/VDPMServerSession.hh> 00052 00053 00054 using OpenMesh::VDPM::set_debug_print; 00055 using OpenMesh::VDPM::debug_print; 00056 00057 00058 class VDPMServerViewerWidget : public QWidget 00059 { 00060 Q_OBJECT 00061 public: 00062 //VDPMServerViewerWidget(QWidget *_parent) : QWidget(_parent) 00063 VDPMServerViewerWidget() : QWidget() 00064 { 00065 server = new VDPMServerSocket(this); 00066 00067 // connect(server, 00068 // SIGNAL(newConnection()), 00069 // SLOT(newConnect())); 00070 00071 vd_streaming_ = true; 00072 } 00073 00074 private: 00075 typedef ServerSideVDPMList::iterator ServerSideVDPMListIter; 00076 ServerSideVDPMList vdpms_; 00077 bool vd_streaming_; 00078 VDPMServerSocket *server; 00079 00080 public: 00081 00082 ServerSideVDPM* get_vdpm(const char _vdpm_name[256]); 00083 00084 00085 public: 00086 00087 bool open_vd_prog_mesh(const char *_filename); 00088 bool vd_streaming() const { return vd_streaming_; } 00089 00090 private slots: 00091 00092 void newConnect(VDPMServerSession *s) 00093 { 00094 std::cout << "New connection" << std::endl; 00095 00096 // connect(s, SIGNAL(connectionClosed()), SLOT(connectionClosed())); 00097 } 00098 00099 void connectionClosed() 00100 { 00101 std::cout << "Client closed connection" << std::endl; 00102 } 00103 00104 protected: 00105 00106 virtual void keyPressEvent(QKeyEvent* _event); 00107 00108 }; 00109 00110 00111 #endif //OPENMESH_APP_VDPMSTREAMING_SERVER_VDPMSTREAMINGSERVERWIDGET_HH defined 00112 00113