Merge commit '12371c21d206cb07a5db91fc81d55cd740bd12f0'
This commit is contained in:
commit
3d77d6425e
3
deps/ox/OxConfig.cmake
vendored
3
deps/ox/OxConfig.cmake
vendored
@ -3,9 +3,10 @@ if("${CMAKE_FIND_ROOT_PATH}" STREQUAL "")
|
||||
set(OxStd_LIBRARY /usr/local/lib/ox/libOxStd.a)
|
||||
set(OxFS_LIBRARY /usr/local/lib/ox/libOxFS.a)
|
||||
set(OxClArgs_LIBRARY /usr/local/lib/ox/libOxClArgs.a)
|
||||
set(OxMetalClaw /usr/local/lib/ox/libOxMetalClaw.a)
|
||||
else("${CMAKE_FIND_ROOT_PATH}" STREQUAL "")
|
||||
set(Ox_INCLUDE_DIRS ${CMAKE_FIND_ROOT_PATH}/include/)
|
||||
set(OxStd_LIBRARY ${CMAKE_FIND_ROOT_PATH}/lib/ox/libOxStd.a)
|
||||
set(OxFS_LIBRARY ${CMAKE_FIND_ROOT_PATH}/lib/ox/libOxFS.a)
|
||||
set(OxClArgs_LIBRARY ${CMAKE_FIND_ROOT_PATH}/lib/ox/libOxClArgs.a)
|
||||
set(OxMetalClaw ${CMAKE_FIND_ROOT_PATH}/lib/ox/libOxMetalClaw.a)
|
||||
endif("${CMAKE_FIND_ROOT_PATH}" STREQUAL "")
|
||||
|
27
deps/ox/deps/ox/src/ox/mc/optype.hpp
vendored
Normal file
27
deps/ox/deps/ox/src/ox/mc/optype.hpp
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright 2015 - 2017 gtalent2@gmail.com
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace ox {
|
||||
|
||||
enum class OpType {
|
||||
Read = 0,
|
||||
Write = 1
|
||||
};
|
||||
|
||||
template<typename T, typename O>
|
||||
ox::Error ioOp(T *io, O *obj) {
|
||||
if (io->opType() == ox::OpType::Read) {
|
||||
return ioOpRead(io, obj);
|
||||
} else {
|
||||
return ioOpWrite(io, obj);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
9
deps/ox/src/ox/mc/read.cpp
vendored
9
deps/ox/src/ox/mc/read.cpp
vendored
@ -17,6 +17,10 @@ MetalClawReader::MetalClawReader(uint8_t *buff, size_t buffLen): m_fieldPresence
|
||||
m_buffLen = buffLen;
|
||||
}
|
||||
|
||||
int MetalClawReader::op(const char*, int8_t *val) {
|
||||
return readInteger(val);
|
||||
}
|
||||
|
||||
int MetalClawReader::op(const char*, int16_t *val) {
|
||||
return readInteger(val);
|
||||
}
|
||||
@ -29,6 +33,11 @@ int MetalClawReader::op(const char*, int64_t *val) {
|
||||
return readInteger(val);
|
||||
}
|
||||
|
||||
|
||||
int MetalClawReader::op(const char*, uint8_t *val) {
|
||||
return readInteger(val);
|
||||
}
|
||||
|
||||
int MetalClawReader::op(const char*, uint16_t *val) {
|
||||
return readInteger(val);
|
||||
}
|
||||
|
2
deps/ox/src/ox/mc/read.hpp
vendored
2
deps/ox/src/ox/mc/read.hpp
vendored
@ -32,10 +32,12 @@ class MetalClawReader {
|
||||
public:
|
||||
MetalClawReader(uint8_t *buff, size_t buffLen);
|
||||
|
||||
int op(const char*, int8_t *val);
|
||||
int op(const char*, int16_t *val);
|
||||
int op(const char*, int32_t *val);
|
||||
int op(const char*, int64_t *val);
|
||||
|
||||
int op(const char*, uint8_t *val);
|
||||
int op(const char*, uint16_t *val);
|
||||
int op(const char*, uint32_t *val);
|
||||
int op(const char*, uint64_t *val);
|
||||
|
13
deps/ox/src/ox/mc/write.cpp
vendored
13
deps/ox/src/ox/mc/write.cpp
vendored
@ -17,6 +17,10 @@ MetalClawWriter::MetalClawWriter(uint8_t *buff, size_t buffLen): m_fieldPresence
|
||||
m_buffLen = buffLen;
|
||||
}
|
||||
|
||||
int MetalClawWriter::op(const char*, int8_t *val) {
|
||||
return appendInteger(*val);
|
||||
}
|
||||
|
||||
int MetalClawWriter::op(const char*, int16_t *val) {
|
||||
return appendInteger(*val);
|
||||
}
|
||||
@ -29,6 +33,11 @@ int MetalClawWriter::op(const char*, int64_t *val) {
|
||||
return appendInteger(*val);
|
||||
}
|
||||
|
||||
|
||||
int MetalClawWriter::op(const char*, uint8_t *val) {
|
||||
return appendInteger(*val);
|
||||
}
|
||||
|
||||
int MetalClawWriter::op(const char*, uint16_t *val) {
|
||||
return appendInteger(*val);
|
||||
}
|
||||
@ -51,4 +60,8 @@ void MetalClawWriter::setFields(int fields) {
|
||||
m_fieldPresence.setMaxLen(m_buffIt);
|
||||
}
|
||||
|
||||
size_t MetalClawWriter::size() {
|
||||
return m_buffIt;
|
||||
}
|
||||
|
||||
}
|
||||
|
14
deps/ox/src/ox/mc/write.hpp
vendored
14
deps/ox/src/ox/mc/write.hpp
vendored
@ -29,10 +29,12 @@ class MetalClawWriter {
|
||||
public:
|
||||
MetalClawWriter(uint8_t *buff, size_t buffLen);
|
||||
|
||||
int op(const char*, int8_t *val);
|
||||
int op(const char*, int16_t *val);
|
||||
int op(const char*, int32_t *val);
|
||||
int op(const char*, int64_t *val);
|
||||
|
||||
int op(const char*, uint8_t *val);
|
||||
int op(const char*, uint16_t *val);
|
||||
int op(const char*, uint32_t *val);
|
||||
int op(const char*, uint64_t *val);
|
||||
@ -50,6 +52,8 @@ class MetalClawWriter {
|
||||
|
||||
void setFields(int fields);
|
||||
|
||||
size_t size();
|
||||
|
||||
OpType opType() {
|
||||
return OpType::Write;
|
||||
}
|
||||
@ -125,7 +129,7 @@ int MetalClawWriter::op(const char*, T *val, size_t len) {
|
||||
// write the length
|
||||
typedef uint32_t ArrayLength;
|
||||
if (m_buffIt + sizeof(ArrayLength) < m_buffLen) {
|
||||
*((T*) &m_buff[m_buffIt]) = ox::bigEndianAdapt((ArrayLength) len);
|
||||
*((ArrayLength*) &m_buff[m_buffIt]) = ox::bigEndianAdapt((ArrayLength) len);
|
||||
m_buffIt += sizeof(ArrayLength);
|
||||
} else {
|
||||
err = MC_BUFFENDED;
|
||||
@ -149,9 +153,13 @@ int MetalClawWriter::op(const char*, T *val, size_t len) {
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
int write(uint8_t *buff, size_t buffLen, T *val) {
|
||||
int write(uint8_t *buff, size_t buffLen, T *val, size_t *sizeOut = nullptr) {
|
||||
MetalClawWriter writer(buff, buffLen);
|
||||
return ioOp(&writer, val);
|
||||
auto err = ioOp(&writer, val);
|
||||
if (sizeOut) {
|
||||
*sizeOut = writer.size();
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user