From b59e854090e050162adbe81d7e7152dffae24f1f Mon Sep 17 00:00:00 2001 From: sletz Date: Wed, 11 Jan 2012 17:40:17 +0000 Subject: [PATCH] Cleanup. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4689 0c269be4-1314-0410-8aa9-9f06e86f4224 --- common/JackGenericClientChannel.cpp | 2 +- common/JackGenericClientChannel.h | 1 - common/JackInternalClient.cpp | 5 ++- common/JackInternalClientChannel.h | 6 --- posix/JackSocketClientChannel.h | 3 ++ windows/JackWinNamedPipe.cpp | 28 +------------ windows/JackWinNamedPipe.h | 54 ++++++++++++++++++------- windows/JackWinNamedPipeClientChannel.h | 3 ++ 8 files changed, 53 insertions(+), 49 deletions(-) diff --git a/common/JackGenericClientChannel.cpp b/common/JackGenericClientChannel.cpp index 12be858b..7a98f831 100644 --- a/common/JackGenericClientChannel.cpp +++ b/common/JackGenericClientChannel.cpp @@ -25,7 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. namespace Jack { -JackGenericClientChannel::JackGenericClientChannel():fClient(NULL) +JackGenericClientChannel::JackGenericClientChannel() {} JackGenericClientChannel::~JackGenericClientChannel() diff --git a/common/JackGenericClientChannel.h b/common/JackGenericClientChannel.h index 4a3eae6b..c4564ff8 100644 --- a/common/JackGenericClientChannel.h +++ b/common/JackGenericClientChannel.h @@ -39,7 +39,6 @@ class JackGenericClientChannel : public detail::JackClientChannelInterface protected: detail::JackClientRequestInterface* fRequest; - JackClient* fClient; void ServerSyncCall(JackRequest* req, JackResult* res, int* result); void ServerAsyncCall(JackRequest* req, JackResult* res, int* result); diff --git a/common/JackInternalClient.cpp b/common/JackInternalClient.cpp index 12d0c671..c843559f 100644 --- a/common/JackInternalClient.cpp +++ b/common/JackInternalClient.cpp @@ -27,7 +27,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackServer.h" #include "JackEngineControl.h" #include "JackClientControl.h" + #include "JackInternalClientChannel.h" +#include "JackGenericClientChannel.h" + #include "JackTools.h" #include @@ -56,6 +59,7 @@ SERVER_EXPORT JackSynchro* GetSynchroTable() JackInternalClient::JackInternalClient(JackServer* server, JackSynchro* table): JackClient(table) { fChannel = new JackInternalClientChannel(server); + //fChannel = new JackGenericClientChannel(); } JackInternalClient::~JackInternalClient() @@ -98,7 +102,6 @@ int JackInternalClient::Open(const char* server_name, const char* name, int uuid return 0; error: - fChannel->Stop(); fChannel->Close(); return -1; } diff --git a/common/JackInternalClientChannel.h b/common/JackInternalClientChannel.h index e2ead4b7..e4400c9f 100644 --- a/common/JackInternalClientChannel.h +++ b/common/JackInternalClientChannel.h @@ -44,12 +44,6 @@ class JackInternalClientChannel : public detail::JackClientChannelInterface virtual ~JackInternalClientChannel() {} - // Open the Server/Client connection - virtual int Open(const char* name, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status) - { - return 0; - } - void ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result, int open) { *result = fEngine->ClientCheck(name, uuid, name_res, protocol, options, status); diff --git a/posix/JackSocketClientChannel.h b/posix/JackSocketClientChannel.h index 8bd9cd95..a96684d0 100644 --- a/posix/JackSocketClientChannel.h +++ b/posix/JackSocketClientChannel.h @@ -28,6 +28,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. namespace Jack { +class JackClient; + /*! \brief JackClientChannel using sockets. */ @@ -40,6 +42,7 @@ class JackSocketClientChannel : public JackGenericClientChannel, public JackRunn JackServerSocket fNotificationListenSocket; // Socket listener for server notification JackClientSocket* fNotificationSocket; // Socket for server notification JackThread fThread; // Thread to execute the event loop + JackClient* fClient; public: diff --git a/windows/JackWinNamedPipe.cpp b/windows/JackWinNamedPipe.cpp index b823c255..04352a68 100644 --- a/windows/JackWinNamedPipe.cpp +++ b/windows/JackWinNamedPipe.cpp @@ -28,7 +28,7 @@ namespace Jack { -int JackWinNamedPipe::Read(void* data, int len) +int JackWinNamedPipeAux::ReadAux(void* data, int len) { DWORD read; BOOL res = ReadFile(fNamedPipe, data, len, &read, NULL); @@ -40,31 +40,7 @@ int JackWinNamedPipe::Read(void* data, int len) } } -int JackWinNamedPipe::Write(void* data, int len) -{ - DWORD written; - BOOL res = WriteFile(fNamedPipe, data, len, &written, NULL); - if (res && written == (DWORD)len) { - return 0; - } else { - jack_error("Cannot write named pipe name = %s err = %ld", fName, GetLastError()); - return -1; - } -} - -int JackWinNamedPipeClient::Read(void* data, int len) -{ - DWORD read; - BOOL res = ReadFile(fNamedPipe, data, len, &read, NULL); - if (res && read == (DWORD)len) { - return 0; - } else { - jack_error("Cannot read named pipe name = %s err = %ld", fName, GetLastError()); - return -1; - } -} - -int JackWinNamedPipeClient::Write(void* data, int len) +int JackWinNamedPipeAux::WriteAux(void* data, int len) { DWORD written; BOOL res = WriteFile(fNamedPipe, data, len, &written, NULL); diff --git a/windows/JackWinNamedPipe.h b/windows/JackWinNamedPipe.h index 6064e5b8..44ebd982 100644 --- a/windows/JackWinNamedPipe.h +++ b/windows/JackWinNamedPipe.h @@ -28,7 +28,7 @@ namespace Jack { -class JackWinNamedPipe : public detail::JackChannelTransactionInterface +class JackWinNamedPipeAux { protected: @@ -36,41 +36,61 @@ class JackWinNamedPipe : public detail::JackChannelTransactionInterface HANDLE fNamedPipe; char fName[256]; + int ReadAux(void* data, int len); + int WriteAux(void* data, int len); + public: - JackWinNamedPipe(): fNamedPipe(INVALID_HANDLE_VALUE) + JackWinNamedPipeAux(): fNamedPipe(INVALID_HANDLE_VALUE) + {} + JackWinNamedPipeAux(HANDLE pipe): fNamedPipe(pipe) {} - JackWinNamedPipe(HANDLE pipe): fNamedPipe(pipe) + virtual ~JackWinNamedPipeAux() + {} + +}; + + +class JackWinNamedPipe : public JackWinNamedPipeAux, public detail::JackChannelTransactionInterface +{ + + public: + + JackWinNamedPipe():JackWinNamedPipeAux() + {} + JackWinNamedPipe(HANDLE pipe):JackWinNamedPipeAux(pipe) {} virtual ~JackWinNamedPipe() {} - virtual int Read(void* data, int len); - virtual int Write(void* data, int len); + virtual int Read(void* data, int len) + { + return ReadAux(data, len); + } + virtual int Write(void* data, int len) + { + return WriteAux(data, len); + } }; /*! \brief Client named pipe. */ -class JackWinNamedPipeClient : public detail::JackClientRequestInterface +class JackWinNamedPipeClient : public JackWinNamedPipeAux, public detail::JackClientRequestInterface { protected: int ConnectAux(); - HANDLE fNamedPipe; - char fName[256]; - public: - JackWinNamedPipeClient() + JackWinNamedPipeClient():JackWinNamedPipeAux() {} - JackWinNamedPipeClient(HANDLE pipe, const char* name) + JackWinNamedPipeClient(HANDLE pipe, const char* name):JackWinNamedPipeAux(pipe) { strcpy(fName, name); - fNamedPipe = pipe; } virtual ~JackWinNamedPipeClient() @@ -80,8 +100,14 @@ class JackWinNamedPipeClient : public detail::JackClientRequestInterface virtual int Connect(const char* dir, const char* name, int which); virtual int Close(); - int Read(void* data, int len); - int Write(void* data, int len); + virtual int Read(void* data, int len) + { + return ReadAux(data, len); + } + virtual int Write(void* data, int len) + { + return WriteAux(data, len); + } virtual void SetReadTimeOut(long sec); virtual void SetWriteTimeOut(long sec); diff --git a/windows/JackWinNamedPipeClientChannel.h b/windows/JackWinNamedPipeClientChannel.h index e3c21588..8660029b 100644 --- a/windows/JackWinNamedPipeClientChannel.h +++ b/windows/JackWinNamedPipeClientChannel.h @@ -29,6 +29,8 @@ namespace Jack { +class JackClient; + /*! \brief JackClientChannel using pipes. */ @@ -40,6 +42,7 @@ class JackWinNamedPipeClientChannel : public JackGenericClientChannel, public Ja JackWinNamedPipeServer fNotificationListenPipe; // Pipe listener for server notification JackThread fThread; // Thread to execute the event loop + JackClient* fClient; public: