Browse Source

Update Windows code.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4687 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.9.9.5
sletz 13 years ago
parent
commit
cb41ec6023
2 changed files with 36 additions and 4 deletions
  1. +24
    -0
      windows/JackWinNamedPipe.cpp
  2. +12
    -4
      windows/JackWinNamedPipe.h

+ 24
- 0
windows/JackWinNamedPipe.cpp View File

@@ -52,6 +52,30 @@ int JackWinNamedPipe::Write(void* data, int len)
} }
} }


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)
{
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;
}
}

/* /*
See : See :
http://answers.google.com/answers/threadview?id=430173 http://answers.google.com/answers/threadview?id=430173


+ 12
- 4
windows/JackWinNamedPipe.h View File

@@ -28,7 +28,7 @@
namespace Jack namespace Jack
{ {


class JackWinNamedPipe : public JackChannelTransactionInterface
class JackWinNamedPipe : public detail::JackChannelTransactionInterface
{ {


protected: protected:
@@ -53,20 +53,24 @@ class JackWinNamedPipe : public JackChannelTransactionInterface
\brief Client named pipe. \brief Client named pipe.
*/ */


class JackWinNamedPipeClient : public JackWinNamedPipe, public JackRequestInterface
class JackWinNamedPipeClient : public detail::JackClientRequestInterface
{ {


private: private:


int ConnectAux(); int ConnectAux();


HANDLE fNamedPipe;
char fName[256];

public: public:


JackWinNamedPipeClient(): JackWinNamedPipe()
JackWinNamedPipeClient()
{} {}
JackWinNamedPipeClient(HANDLE pipe, const char* name): JackWinNamedPipe(pipe)
JackWinNamedPipeClient(HANDLE pipe, const char* name)
{ {
strcpy(fName, name); strcpy(fName, name);
fNamedPipe = pipe;
} }


virtual ~JackWinNamedPipeClient() virtual ~JackWinNamedPipeClient()
@@ -75,6 +79,10 @@ class JackWinNamedPipeClient : public JackWinNamedPipe, public JackRequestInterf
virtual int Connect(const char* dir, int which); virtual int Connect(const char* dir, int which);
virtual int Connect(const char* dir, const char* name, int which); virtual int Connect(const char* dir, const char* name, int which);
virtual int Close(); virtual int Close();

int Read(void* data, int len);
int Write(void* data, int len);

virtual void SetReadTimeOut(long sec); virtual void SetReadTimeOut(long sec);
virtual void SetWriteTimeOut(long sec); virtual void SetWriteTimeOut(long sec);
}; };


Loading…
Cancel
Save