summaryrefslogtreecommitdiff
path: root/src/mongo/s/catalog/type_actionlog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/s/catalog/type_actionlog.cpp')
-rw-r--r--src/mongo/s/catalog/type_actionlog.cpp185
1 files changed, 95 insertions, 90 deletions
diff --git a/src/mongo/s/catalog/type_actionlog.cpp b/src/mongo/s/catalog/type_actionlog.cpp
index 49dd09b6958..1cefd2774dc 100644
--- a/src/mongo/s/catalog/type_actionlog.cpp
+++ b/src/mongo/s/catalog/type_actionlog.cpp
@@ -32,124 +32,129 @@
namespace mongo {
- using std::string;
+using std::string;
- using mongo::str::stream;
+using mongo::str::stream;
- const std::string ActionLogType::ConfigNS = "config.actionlog";
+const std::string ActionLogType::ConfigNS = "config.actionlog";
- const BSONField<std::string> ActionLogType::server("server");
- const BSONField<std::string> ActionLogType::what("what");
- const BSONField<Date_t> ActionLogType::time("time");
- const BSONField<BSONObj> ActionLogType::details("details");
+const BSONField<std::string> ActionLogType::server("server");
+const BSONField<std::string> ActionLogType::what("what");
+const BSONField<Date_t> ActionLogType::time("time");
+const BSONField<BSONObj> ActionLogType::details("details");
- ActionLogType::ActionLogType() {
- clear();
- }
+ActionLogType::ActionLogType() {
+ clear();
+}
- ActionLogType::~ActionLogType() {
- }
+ActionLogType::~ActionLogType() {}
- bool ActionLogType::isValid(std::string* errMsg) const {
- std::string dummy;
- if (errMsg == NULL) {
- errMsg = &dummy;
- }
-
- // All the mandatory fields must be present.
- if (!_isServerSet) {
- *errMsg = stream() << "missing " << server.name() << " field";
- return false;
- }
- if (!_isTimeSet) {
- *errMsg = stream() << "missing " << time.name() << " field";
- return false;
- }
- if (!_isWhatSet) {
- *errMsg = stream() << "missing " << what.name() << " field";
- return false;
- }
- if (!_isDetailsSet) {
- *errMsg = stream() << "missing " << details.name() << " field";
- return false;
- }
-
- return true;
+bool ActionLogType::isValid(std::string* errMsg) const {
+ std::string dummy;
+ if (errMsg == NULL) {
+ errMsg = &dummy;
}
- BSONObj ActionLogType::toBSON() const {
- BSONObjBuilder builder;
-
- if (_isServerSet) builder.append(server(), _server);
- if (_isTimeSet) builder.append(time(), _time);
- if (_isWhatSet) builder.append(what(), _what);
- if (_isDetailsSet) builder.append(details(), _details);
-
- return builder.obj();
+ // All the mandatory fields must be present.
+ if (!_isServerSet) {
+ *errMsg = stream() << "missing " << server.name() << " field";
+ return false;
+ }
+ if (!_isTimeSet) {
+ *errMsg = stream() << "missing " << time.name() << " field";
+ return false;
+ }
+ if (!_isWhatSet) {
+ *errMsg = stream() << "missing " << what.name() << " field";
+ return false;
+ }
+ if (!_isDetailsSet) {
+ *errMsg = stream() << "missing " << details.name() << " field";
+ return false;
}
- bool ActionLogType::parseBSON(const BSONObj& source, string* errMsg) {
- clear();
+ return true;
+}
- std::string dummy;
- if (!errMsg) errMsg = &dummy;
+BSONObj ActionLogType::toBSON() const {
+ BSONObjBuilder builder;
- FieldParser::FieldState fieldState;
+ if (_isServerSet)
+ builder.append(server(), _server);
+ if (_isTimeSet)
+ builder.append(time(), _time);
+ if (_isWhatSet)
+ builder.append(what(), _what);
+ if (_isDetailsSet)
+ builder.append(details(), _details);
- fieldState = FieldParser::extract(source, server, &_server, errMsg);
- if (fieldState == FieldParser::FIELD_INVALID) return false;
- _isServerSet = fieldState == FieldParser::FIELD_SET;
+ return builder.obj();
+}
- fieldState = FieldParser::extract(source, time, &_time, errMsg);
- if (fieldState == FieldParser::FIELD_INVALID) return false;
- _isTimeSet = fieldState == FieldParser::FIELD_SET;
+bool ActionLogType::parseBSON(const BSONObj& source, string* errMsg) {
+ clear();
- fieldState = FieldParser::extract(source, what, &_what, errMsg);
- if (fieldState == FieldParser::FIELD_INVALID) return false;
- _isWhatSet = fieldState == FieldParser::FIELD_SET;
+ std::string dummy;
+ if (!errMsg)
+ errMsg = &dummy;
- fieldState = FieldParser::extract(source, details, &_details, errMsg);
- if (fieldState == FieldParser::FIELD_INVALID) return false;
- _isDetailsSet = fieldState == FieldParser::FIELD_SET;
+ FieldParser::FieldState fieldState;
- return true;
- }
+ fieldState = FieldParser::extract(source, server, &_server, errMsg);
+ if (fieldState == FieldParser::FIELD_INVALID)
+ return false;
+ _isServerSet = fieldState == FieldParser::FIELD_SET;
- void ActionLogType::clear() {
+ fieldState = FieldParser::extract(source, time, &_time, errMsg);
+ if (fieldState == FieldParser::FIELD_INVALID)
+ return false;
+ _isTimeSet = fieldState == FieldParser::FIELD_SET;
- _server.clear();
- _isServerSet = false;
+ fieldState = FieldParser::extract(source, what, &_what, errMsg);
+ if (fieldState == FieldParser::FIELD_INVALID)
+ return false;
+ _isWhatSet = fieldState == FieldParser::FIELD_SET;
- _what.clear();
- _isWhatSet = false;
+ fieldState = FieldParser::extract(source, details, &_details, errMsg);
+ if (fieldState == FieldParser::FIELD_INVALID)
+ return false;
+ _isDetailsSet = fieldState == FieldParser::FIELD_SET;
- _time = Date_t();
- _isTimeSet = false;
+ return true;
+}
- _details = BSONObj();
- _isDetailsSet = false;
+void ActionLogType::clear() {
+ _server.clear();
+ _isServerSet = false;
- }
+ _what.clear();
+ _isWhatSet = false;
- void ActionLogType::cloneTo(ActionLogType* other) const {
- other->clear();
+ _time = Date_t();
+ _isTimeSet = false;
- other->_server = _server;
- other->_isServerSet = _isServerSet;
+ _details = BSONObj();
+ _isDetailsSet = false;
+}
- other->_what = _what;
- other->_isWhatSet = _isWhatSet;
+void ActionLogType::cloneTo(ActionLogType* other) const {
+ other->clear();
- other->_time = _time;
- other->_isTimeSet = _isTimeSet;
+ other->_server = _server;
+ other->_isServerSet = _isServerSet;
- other->_details = _details;
- other->_isDetailsSet = _isDetailsSet;
+ other->_what = _what;
+ other->_isWhatSet = _isWhatSet;
- }
+ other->_time = _time;
+ other->_isTimeSet = _isTimeSet;
- std::string ActionLogType::toString() const {
- return toBSON().toString();
- }
+ other->_details = _details;
+ other->_isDetailsSet = _isDetailsSet;
+}
+
+std::string ActionLogType::toString() const {
+ return toBSON().toString();
+}
-} // namespace mongo
+} // namespace mongo