Fixes regarding to comments in ag/2839267
1. use struct {} to instantiate privacy fields for efficiency reason
2. use vector<uint8_t>* instead of vector<uint8_t>& to indicate the
caller knows the value gets changed.
3. binary search privay policy for sections
Bug: 65595927
Test: unit test covers
Change-Id: Ic58c2f607465d1a7f10352b9a38c3d8b1a5cf352
diff --git a/cmds/incidentd/src/Privacy.cpp b/cmds/incidentd/src/Privacy.cpp
index dbab548..e7969e7 100644
--- a/cmds/incidentd/src/Privacy.cpp
+++ b/cmds/incidentd/src/Privacy.cpp
@@ -16,6 +16,8 @@
#include "Privacy.h"
+#include <stdlib.h>
+
// DESTINATION enum value
const uint8_t DEST_LOCAL = 0;
const uint8_t DEST_EXPLICIT = 1;
@@ -25,33 +27,6 @@
const uint8_t TYPE_STRING = 9;
const uint8_t TYPE_MESSAGE = 11;
-Privacy::Privacy(uint32_t field_id, uint8_t type, uint8_t dest)
- : field_id(field_id),
- type(type),
- children(NULL),
- dest(dest),
- patterns(NULL)
-{
-}
-
-Privacy::Privacy(uint32_t field_id, const Privacy** children)
- : field_id(field_id),
- type(TYPE_MESSAGE),
- children(children),
- dest(DEST_DEFAULT_VALUE), // this will be ignored
- patterns(NULL)
-{
-}
-
-Privacy::Privacy(uint32_t field_id, uint8_t dest, const char** patterns)
- : field_id(field_id),
- type(TYPE_STRING),
- children(NULL),
- dest(dest),
- patterns(patterns)
-{
-}
-
bool
Privacy::IsMessageType() const { return type == TYPE_MESSAGE; }