X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=inline;f=src%2Flib%2Fplatform%2Fserialport.h;h=f5035b908f21705a57bdee173b5e127784145198;hb=5606e90bb3c5a85ab8e29e639e8248581247699e;hp=c7e0e6c5dbc551ee06094a98ab3bc226d5f48eca;hpb=b9187cc6999276ce37a5c9852655fd558ea76b8e;p=deb_libcec.git
diff --git a/src/lib/platform/serialport.h b/src/lib/platform/serialport.h
index c7e0e6c..f5035b9 100644
--- a/src/lib/platform/serialport.h
+++ b/src/lib/platform/serialport.h
@@ -1,33 +1,46 @@
#pragma once
-
/*
- * boblight
- * Copyright (C) Bob 2009
- *
- * boblight is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * This file is part of the libCEC(R) library.
+ *
+ * libCEC(R) is Copyright (C) 2011 Pulse-Eight Limited. All rights reserved.
+ * libCEC(R) is an original work, containing original code.
+ *
+ * libCEC(R) is a trademark of Pulse-Eight Limited.
+ *
+ * This program is dual-licensed; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
- * boblight is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see .
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ *
+ * Alternatively, you can license this library under a commercial license,
+ * please contact Pulse-Eight Licensing for more information.
+ *
+ * For more information contact:
+ * Pulse-Eight Licensing
+ * http://www.pulse-eight.com/
+ * http://www.pulse-eight.net/
*/
#include "os-dependent.h"
-#include "baudrate.h"
+#include
#include
-#include
#include
+#include "../AdapterCommunication.h"
+#include "../platform/threads.h"
#ifndef __WINDOWS__
#include
#else
-#include "../util/threads.h"
#include "../util/buffer.h"
#endif
@@ -43,34 +56,33 @@ namespace CEC
CSerialPort();
virtual ~CSerialPort();
- bool Open(std::string name, int baudrate, int databits = 8, int stopbits = 1, int parity = PAR_NONE);
- bool SetBaudRate(int baudrate);
- bool IsOpen() const;
+ bool Open(std::string name, uint32_t baudrate, uint8_t databits = 8, uint8_t stopbits = 1, uint8_t parity = PAR_NONE);
+ bool IsOpen();
void Close();
- int Write(std::vector data)
- {
- return Write(&data[0], data.size());
- }
- int Write(uint8_t* data, int len);
- int Read(uint8_t* data, int len, int iTimeoutMs = -1);
+ int8_t Write(CCECAdapterMessage *data);
+ int32_t Read(uint8_t* data, uint32_t len, uint64_t iTimeoutMs = 0);
std::string GetError() { return m_error; }
std::string GetName() { return m_name; }
private:
+ bool SetBaudRate(uint32_t baudrate);
+
std::string m_error;
std::string m_name;
+ CMutex m_mutex;
+ bool m_tostdout;
#ifdef __WINDOWS__
bool SetTimeouts(bool bBlocking);
HANDLE m_handle;
bool m_bIsOpen;
- int m_iBaudrate;
- int m_iDatabits;
- int m_iStopbits;
- int m_iParity;
+ uint32_t m_iBaudrate;
+ uint8_t m_iDatabits;
+ uint8_t m_iStopbits;
+ uint8_t m_iParity;
int64_t m_iTimeout;
CecBuffer m_buffer;
HANDLE m_ovHandle;