From 8d311771df7448ada1410bfce0993fdaa3698106 Mon Sep 17 00:00:00 2001 From: geronimo Date: Fri, 13 Jul 2012 06:17:43 +0200 Subject: added basic commandline support for cmps --- libs/networking/src/ServerSocket.cc | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'libs/networking/src/ServerSocket.cc') diff --git a/libs/networking/src/ServerSocket.cc b/libs/networking/src/ServerSocket.cc index 2ff92fb..ae51a18 100644 --- a/libs/networking/src/ServerSocket.cc +++ b/libs/networking/src/ServerSocket.cc @@ -1,25 +1,25 @@ /** * ======================== legal notice ====================== - * + * * File: ServerSocket.cc * Created: 4. Juli 2012, 07:28 * Author: Geronimo * Project: libnetworking: classes for tcp/ip sockets and http-protocol handling - * + * * CMP - compound media player - * + * * is a client/server mediaplayer intended to play any media from any workstation * without the need to export or mount shares. cmps is an easy to use backend * with a (ready to use) HTML-interface. Additionally the backend supports * authentication via HTTP-digest authorization. * cmpc is a client with vdr-like osd-menues. - * + * * Copyright (c) 2012 Reinhard Mantey, some rights reserved! * published under Creative Commons by-sa * For details see http://creativecommons.org/licenses/by-sa/3.0/ - * + * * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp - * + * * -------------------------------------------------------------- */ #include @@ -29,7 +29,7 @@ cServerSocket::cServerSocket(int Port, int Queue) : cAbstractSocket(Port, Queue) , port(Port) - , active(true) + , active(false) { } @@ -39,7 +39,17 @@ cServerSocket::~cServerSocket() bool cServerSocket::Open(void) { - return cAbstractSocket::Open(port); + bool rv = cAbstractSocket::Open(port); + + if (rv) active = true; + + return rv; +} + +void cServerSocket::Close(void) +{ + active = false; + cAbstractSocket::Close(); } cConnectionPoint *cServerSocket::Accept(void) @@ -82,3 +92,12 @@ bool cServerSocket::ForceBlockingIO() const { return cAbstractSocket::ForceBlockingIO(); } + +void cServerSocket::SetPort(int Port) +{ + if (active) { + esyslog("ERROR: server socket is already active! Can't change port settings!"); + return; + } + port = Port; +} \ No newline at end of file -- cgit v1.2.3