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.h> 00046 #include <qwidget.h> 00047 #include <qfiledialog.h> 00048 #include <qstring.h> 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 VDPMServerSocket *server = new VDPMServerSocket(this); 00066 connect(server, 00067 SIGNAL(newConnect(VDPMServerSession*)), 00068 SLOT(newConnect(VDPMServerSession*))); 00069 00070 vd_streaming_ = true; 00071 } 00072 00073 private: 00074 typedef ServerSideVDPMList::iterator ServerSideVDPMListIter; 00075 ServerSideVDPMList vdpms_; 00076 bool vd_streaming_; 00077 00078 public: 00079 00080 ServerSideVDPM* get_vdpm(const char _vdpm_name[256]); 00081 00082 00083 public: 00084 00085 bool open_vd_prog_mesh(const char *_filename); 00086 bool vd_streaming() const { return vd_streaming_; } 00087 00088 private slots: 00089 00090 void newConnect(VDPMServerSession *s) 00091 { 00092 std::cout << "New connection" << std::endl; 00093 00094 connect(s, SIGNAL(connectionClosed()), SLOT(connectionClosed())); 00095 } 00096 00097 void connectionClosed() 00098 { 00099 std::cout << "Client closed connection" << std::endl; 00100 } 00101 00102 protected: 00103 00104 virtual void keyPressEvent(QKeyEvent* _event); 00105 00106 }; 00107 00108 00109 #endif //OPENMESH_APP_VDPMSTREAMING_SERVER_VDPMSTREAMINGSERVERWIDGET_HH defined 00110 00111