made RawQueue options type-safe
diff --git a/aos/linux_code/logging/linux_logging.cc b/aos/linux_code/logging/linux_logging.cc
index cdb052a..2bd5bce 100644
--- a/aos/linux_code/logging/linux_logging.cc
+++ b/aos/linux_code/logging/linux_logging.cc
@@ -77,7 +77,7 @@
AddImplementation(new LinuxQueueLogImplementation());
}
-const LogMessage *ReadNext(int flags, int *index) {
+const LogMessage *ReadNext(Options<RawQueue> flags, int *index) {
return static_cast<const LogMessage *>(queue->ReadMessageIndex(flags, index));
}
@@ -85,7 +85,7 @@
return ReadNext(RawQueue::kBlock);
}
-const LogMessage *ReadNext(int flags) {
+const LogMessage *ReadNext(Options<RawQueue> flags) {
const LogMessage *r = NULL;
do {
r = static_cast<const LogMessage *>(queue->ReadMessage(flags));
diff --git a/aos/linux_code/logging/linux_logging.h b/aos/linux_code/logging/linux_logging.h
index 3dc8763..63eeaf1 100644
--- a/aos/linux_code/logging/linux_logging.h
+++ b/aos/linux_code/logging/linux_logging.h
@@ -2,8 +2,12 @@
#define AOS_LINUX_CODE_LOGGING_LOGGING_H_
#include "aos/common/logging/logging_impl.h"
+#include "aos/common/util/options.h"
namespace aos {
+
+class RawQueue;
+
namespace logging {
namespace linux_code {
@@ -16,8 +20,8 @@
// Fairly simple wrappers around the raw queue calls.
// This one never returns NULL if flags contains BLOCK.
-const LogMessage *ReadNext(int flags);
-const LogMessage *ReadNext(int flags, int *index);
+const LogMessage *ReadNext(Options<RawQueue> flags);
+const LogMessage *ReadNext(Options<RawQueue> flags, int *index);
const LogMessage *ReadNext();
LogMessage *Get();
void Free(const LogMessage *msg);