You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by hc...@apache.org on 2014/11/18 11:34:02 UTC

[10/37] thrift git commit: Revert "THRIFT-2729: C++ - .clang-format created and applied"

http://git-wip-us.apache.org/repos/asf/thrift/blob/240120c8/lib/cpp/src/thrift/protocol/TDenseProtocol.h
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/protocol/TDenseProtocol.h b/lib/cpp/src/thrift/protocol/TDenseProtocol.h
index e7f2cd2..4808d79 100644
--- a/lib/cpp/src/thrift/protocol/TDenseProtocol.h
+++ b/lib/cpp/src/thrift/protocol/TDenseProtocol.h
@@ -22,9 +22,7 @@
 
 #include <thrift/protocol/TBinaryProtocol.h>
 
-namespace apache {
-namespace thrift {
-namespace protocol {
+namespace apache { namespace thrift { namespace protocol {
 
 /**
  * !!!WARNING!!!
@@ -58,13 +56,14 @@ namespace protocol {
  * methods within our versions.
  *
  */
-class TDenseProtocol : public TVirtualProtocol<TDenseProtocol, TBinaryProtocol> {
-protected:
+class TDenseProtocol
+  : public TVirtualProtocol<TDenseProtocol, TBinaryProtocol> {
+ protected:
   static const int32_t VERSION_MASK = ((int32_t)0xffff0000);
   // VERSION_1 (0x80010000)  is taken by TBinaryProtocol.
   static const int32_t VERSION_2 = ((int32_t)0x80020000);
 
-public:
+ public:
   typedef apache::thrift::reflection::local::TypeSpec TypeSpec;
   static const int FP_PREFIX_LEN;
 
@@ -72,13 +71,20 @@ public:
    * @param tran       The transport to use.
    * @param type_spec  The TypeSpec of the structures using this protocol.
    */
-  TDenseProtocol(boost::shared_ptr<TTransport> trans, TypeSpec* type_spec = NULL)
-    : TVirtualProtocol<TDenseProtocol, TBinaryProtocol>(trans),
-      type_spec_(type_spec),
-      standalone_(true) {}
+  TDenseProtocol(boost::shared_ptr<TTransport> trans,
+                 TypeSpec* type_spec = NULL) :
+    TVirtualProtocol<TDenseProtocol, TBinaryProtocol>(trans),
+    type_spec_(type_spec),
+    standalone_(true)
+  {}
+
+  void setTypeSpec(TypeSpec* type_spec) {
+    type_spec_ = type_spec;
+  }
+  TypeSpec* getTypeSpec() {
+    return type_spec_;
+  }
 
-  void setTypeSpec(TypeSpec* type_spec) { type_spec_ = type_spec; }
-  TypeSpec* getTypeSpec() { return type_spec_; }
 
   /*
    * Writing functions.
@@ -90,17 +96,22 @@ public:
 
   uint32_t writeMessageEnd();
 
+
   uint32_t writeStructBegin(const char* name);
 
   uint32_t writeStructEnd();
 
-  uint32_t writeFieldBegin(const char* name, const TType fieldType, const int16_t fieldId);
+  uint32_t writeFieldBegin(const char* name,
+                           const TType fieldType,
+                           const int16_t fieldId);
 
   uint32_t writeFieldEnd();
 
   uint32_t writeFieldStop();
 
-  uint32_t writeMapBegin(const TType keyType, const TType valType, const uint32_t size);
+  uint32_t writeMapBegin(const TType keyType,
+                         const TType valType,
+                         const uint32_t size);
 
   uint32_t writeMapEnd();
 
@@ -128,6 +139,7 @@ public:
 
   uint32_t writeBinary(const std::string& str);
 
+
   /*
    * Helper writing functions (don't do state transitions).
    */
@@ -135,13 +147,18 @@ public:
 
   inline uint32_t subWriteString(const std::string& str);
 
-  uint32_t subWriteBool(const bool value) { return TBinaryProtocol::writeBool(value); }
+  uint32_t subWriteBool(const bool value) {
+    return TBinaryProtocol::writeBool(value);
+  }
+
 
   /*
    * Reading functions
    */
 
-  uint32_t readMessageBegin(std::string& name, TMessageType& messageType, int32_t& seqid);
+  uint32_t readMessageBegin(std::string& name,
+                            TMessageType& messageType,
+                            int32_t& seqid);
 
   uint32_t readMessageEnd();
 
@@ -149,19 +166,25 @@ public:
 
   uint32_t readStructEnd();
 
-  uint32_t readFieldBegin(std::string& name, TType& fieldType, int16_t& fieldId);
+  uint32_t readFieldBegin(std::string& name,
+                          TType& fieldType,
+                          int16_t& fieldId);
 
   uint32_t readFieldEnd();
 
-  uint32_t readMapBegin(TType& keyType, TType& valType, uint32_t& size);
+  uint32_t readMapBegin(TType& keyType,
+                        TType& valType,
+                        uint32_t& size);
 
   uint32_t readMapEnd();
 
-  uint32_t readListBegin(TType& elemType, uint32_t& size);
+  uint32_t readListBegin(TType& elemType,
+                         uint32_t& size);
 
   uint32_t readListEnd();
 
-  uint32_t readSetBegin(TType& elemType, uint32_t& size);
+  uint32_t readSetBegin(TType& elemType,
+                        uint32_t& size);
 
   uint32_t readSetEnd();
 
@@ -190,9 +213,13 @@ public:
 
   inline uint32_t subReadString(std::string& str);
 
-  uint32_t subReadBool(bool& value) { return TBinaryProtocol::readBool(value); }
+  uint32_t subReadBool(bool& value) {
+    return TBinaryProtocol::readBool(value);
+  }
+
+
+ private:
 
-private:
   // Implementation functions, documented in the .cpp.
   inline void checkTType(const TType ttype);
   inline void stateTransition();
@@ -213,16 +240,15 @@ private:
   // for standalone protocol objects.
   TypeSpec* type_spec_;
 
-  std::vector<TypeSpec*> ts_stack_; // TypeSpec stack.
-  std::vector<int> idx_stack_;      // InDeX stack.
-  std::vector<bool> mkv_stack_;     // Map Key/Vlue stack.
-                                    // True = key, False = value.
+  std::vector<TypeSpec*> ts_stack_;   // TypeSpec stack.
+  std::vector<int>       idx_stack_;  // InDeX stack.
+  std::vector<bool>      mkv_stack_;  // Map Key/Vlue stack.
+                                      // True = key, False = value.
 
   // True iff this is a standalone instance (no RPC).
   bool standalone_;
 };
-}
-}
-} // apache::thrift::protocol
+
+}}} // apache::thrift::protocol
 
 #endif // #ifndef _THRIFT_PROTOCOL_TDENSEPROTOCOL_H_

http://git-wip-us.apache.org/repos/asf/thrift/blob/240120c8/lib/cpp/src/thrift/protocol/TJSONProtocol.cpp
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/protocol/TJSONProtocol.cpp b/lib/cpp/src/thrift/protocol/TJSONProtocol.cpp
index ca450f4..a0cc8e2 100644
--- a/lib/cpp/src/thrift/protocol/TJSONProtocol.cpp
+++ b/lib/cpp/src/thrift/protocol/TJSONProtocol.cpp
@@ -26,9 +26,8 @@
 
 using namespace apache::thrift::transport;
 
-namespace apache {
-namespace thrift {
-namespace protocol {
+namespace apache { namespace thrift { namespace protocol {
+
 
 // Static data
 
@@ -64,7 +63,7 @@ static const std::string kTypeNameMap("map");
 static const std::string kTypeNameList("lst");
 static const std::string kTypeNameSet("set");
 
-static const std::string& getTypeNameForTypeID(TType typeID) {
+static const std::string &getTypeNameForTypeID(TType typeID) {
   switch (typeID) {
   case T_BOOL:
     return kTypeNameBool;
@@ -89,11 +88,12 @@ static const std::string& getTypeNameForTypeID(TType typeID) {
   case T_LIST:
     return kTypeNameList;
   default:
-    throw TProtocolException(TProtocolException::NOT_IMPLEMENTED, "Unrecognized type");
+    throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+                             "Unrecognized type");
   }
 }
 
-static TType getTypeIDForTypeName(const std::string& name) {
+static TType getTypeIDForTypeName(const std::string &name) {
   TType result = T_STOP; // Sentinel value
   if (name.length() > 1) {
     switch (name[0]) {
@@ -128,7 +128,8 @@ static TType getTypeIDForTypeName(const std::string& name) {
     case 's':
       if (name[1] == 't') {
         result = T_STRING;
-      } else if (name[1] == 'e') {
+      }
+      else if (name[1] == 'e') {
         result = T_SET;
       }
       break;
@@ -138,67 +139,25 @@ static TType getTypeIDForTypeName(const std::string& name) {
     }
   }
   if (result == T_STOP) {
-    throw TProtocolException(TProtocolException::NOT_IMPLEMENTED, "Unrecognized type");
+    throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+                             "Unrecognized type");
   }
   return result;
 }
 
+
 // This table describes the handling for the first 0x30 characters
 //  0 : escape using "\u00xx" notation
 //  1 : just output index
 // <other> : escape using "\<other>" notation
 static const uint8_t kJSONCharTable[0x30] = {
-    //  0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    'b',
-    't',
-    'n',
-    0,
-    'f',
-    'r',
-    0,
-    0, // 0
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0, // 1
-    1,
-    1,
-    '"',
-    1,
-    1,
-    1,
-    1,
-    1,
-    1,
-    1,
-    1,
-    1,
-    1,
-    1,
-    1,
-    1, // 2
+//  0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
+    0,  0,  0,  0,  0,  0,  0,  0,'b','t','n',  0,'f','r',  0,  0, // 0
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // 1
+    1,  1,'"',  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, // 2
 };
 
+
 // This string's characters must match up with the elements in kEscapeCharVals.
 // I don't have '/' on this list even though it appears on www.json.org --
 // it is not in the RFC
@@ -207,26 +166,23 @@ const static std::string kEscapeChars("\"\\bfnrt");
 // The elements of this array must match up with the sequence of characters in
 // kEscapeChars
 const static uint8_t kEscapeCharVals[7] = {
-    '"',
-    '\\',
-    '\b',
-    '\f',
-    '\n',
-    '\r',
-    '\t',
+  '"', '\\', '\b', '\f', '\n', '\r', '\t',
 };
 
+
 // Static helper functions
 
 // Read 1 character from the transport trans and verify that it is the
 // expected character ch.
 // Throw a protocol exception if it is not.
-static uint32_t readSyntaxChar(TJSONProtocol::LookaheadReader& reader, uint8_t ch) {
+static uint32_t readSyntaxChar(TJSONProtocol::LookaheadReader &reader,
+                               uint8_t ch) {
   uint8_t ch2 = reader.read();
   if (ch2 != ch) {
     throw TProtocolException(TProtocolException::INVALID_DATA,
-                             "Expected \'" + std::string((char*)&ch, 1) + "\'; got \'"
-                             + std::string((char*)&ch2, 1) + "\'.");
+                             "Expected \'" + std::string((char *)&ch, 1) +
+                             "\'; got \'" + std::string((char *)&ch2, 1) +
+                             "\'.");
   }
   return 1;
 }
@@ -236,12 +192,14 @@ static uint32_t readSyntaxChar(TJSONProtocol::LookaheadReader& reader, uint8_t c
 static uint8_t hexVal(uint8_t ch) {
   if ((ch >= '0') && (ch <= '9')) {
     return ch - '0';
-  } else if ((ch >= 'a') && (ch <= 'f')) {
+  }
+  else if ((ch >= 'a') && (ch <= 'f')) {
     return ch - 'a' + 10;
-  } else {
+  }
+  else {
     throw TProtocolException(TProtocolException::INVALID_DATA,
-                             "Expected hex val ([0-9a-f]); got \'" + std::string((char*)&ch, 1)
-                             + "\'.");
+                             "Expected hex val ([0-9a-f]); got \'"
+                               + std::string((char *)&ch, 1) + "\'.");
   }
 }
 
@@ -251,7 +209,8 @@ static uint8_t hexChar(uint8_t val) {
   val &= 0x0F;
   if (val < 10) {
     return val + '0';
-  } else {
+  }
+  else {
     return val - 10 + 'a';
   }
 }
@@ -279,30 +238,32 @@ static bool isJSONNumeric(uint8_t ch) {
   return false;
 }
 
+
 /**
  * Class to serve as base JSON context and as base class for other context
  * implementations
  */
 class TJSONContext {
 
-public:
-  TJSONContext(){};
+ public:
+
+  TJSONContext() {};
 
-  virtual ~TJSONContext(){};
+  virtual ~TJSONContext() {};
 
   /**
    * Write context data to the transport. Default is to do nothing.
    */
-  virtual uint32_t write(TTransport& trans) {
-    (void)trans;
+  virtual uint32_t write(TTransport &trans) {
+    (void) trans;
     return 0;
   };
 
   /**
    * Read context data from the transport. Default is to do nothing.
    */
-  virtual uint32_t read(TJSONProtocol::LookaheadReader& reader) {
-    (void)reader;
+  virtual uint32_t read(TJSONProtocol::LookaheadReader &reader) {
+    (void) reader;
     return 0;
   };
 
@@ -310,33 +271,41 @@ public:
    * Return true if numbers need to be escaped as strings in this context.
    * Default behavior is to return false.
    */
-  virtual bool escapeNum() { return false; }
+  virtual bool escapeNum() {
+    return false;
+  }
 };
 
 // Context class for object member key-value pairs
 class JSONPairContext : public TJSONContext {
 
 public:
-  JSONPairContext() : first_(true), colon_(true) {}
 
-  uint32_t write(TTransport& trans) {
+  JSONPairContext() :
+    first_(true),
+    colon_(true) {
+  }
+
+  uint32_t write(TTransport &trans) {
     if (first_) {
       first_ = false;
       colon_ = true;
       return 0;
-    } else {
+    }
+    else {
       trans.write(colon_ ? &kJSONPairSeparator : &kJSONElemSeparator, 1);
       colon_ = !colon_;
       return 1;
     }
   }
 
-  uint32_t read(TJSONProtocol::LookaheadReader& reader) {
+  uint32_t read(TJSONProtocol::LookaheadReader &reader) {
     if (first_) {
       first_ = false;
       colon_ = true;
       return 0;
-    } else {
+    }
+    else {
       uint8_t ch = (colon_ ? kJSONPairSeparator : kJSONElemSeparator);
       colon_ = !colon_;
       return readSyntaxChar(reader, ch);
@@ -344,52 +313,60 @@ public:
   }
 
   // Numbers must be turned into strings if they are the key part of a pair
-  virtual bool escapeNum() { return colon_; }
+  virtual bool escapeNum() {
+    return colon_;
+  }
+
+  private:
 
-private:
-  bool first_;
-  bool colon_;
+    bool first_;
+    bool colon_;
 };
 
 // Context class for lists
 class JSONListContext : public TJSONContext {
 
 public:
-  JSONListContext() : first_(true) {}
 
-  uint32_t write(TTransport& trans) {
+  JSONListContext() :
+    first_(true) {
+  }
+
+  uint32_t write(TTransport &trans) {
     if (first_) {
       first_ = false;
       return 0;
-    } else {
+    }
+    else {
       trans.write(&kJSONElemSeparator, 1);
       return 1;
     }
   }
 
-  uint32_t read(TJSONProtocol::LookaheadReader& reader) {
+  uint32_t read(TJSONProtocol::LookaheadReader &reader) {
     if (first_) {
       first_ = false;
       return 0;
-    } else {
+    }
+    else {
       return readSyntaxChar(reader, kJSONElemSeparator);
     }
   }
 
-private:
-  bool first_;
+  private:
+    bool first_;
 };
 
-TJSONProtocol::TJSONProtocol(boost::shared_ptr<TTransport> ptrans)
-  : TVirtualProtocol<TJSONProtocol>(ptrans),
-    trans_(ptrans.get()),
-    context_(new TJSONContext()),
-    reader_(*ptrans) {
-}
 
-TJSONProtocol::~TJSONProtocol() {
+TJSONProtocol::TJSONProtocol(boost::shared_ptr<TTransport> ptrans) :
+  TVirtualProtocol<TJSONProtocol>(ptrans),
+  trans_(ptrans.get()),
+  context_(new TJSONContext()),
+  reader_(*ptrans) {
 }
 
+TJSONProtocol::~TJSONProtocol() {}
+
 void TJSONProtocol::pushContext(boost::shared_ptr<TJSONContext> c) {
   contexts_.push(context_);
   context_ = c;
@@ -402,7 +379,7 @@ void TJSONProtocol::popContext() {
 
 // Write the character ch as a JSON escape sequence ("\u00xx")
 uint32_t TJSONProtocol::writeJSONEscapeChar(uint8_t ch) {
-  trans_->write((const uint8_t*)kJSONEscapePrefix.c_str(),
+  trans_->write((const uint8_t *)kJSONEscapePrefix.c_str(),
                 static_cast<uint32_t>(kJSONEscapePrefix.length()));
   uint8_t outCh = hexChar(ch >> 4);
   trans_->write(&outCh, 1);
@@ -418,21 +395,25 @@ uint32_t TJSONProtocol::writeJSONChar(uint8_t ch) {
       trans_->write(&kJSONBackslash, 1);
       trans_->write(&kJSONBackslash, 1);
       return 2;
-    } else {
+    }
+    else {
       trans_->write(&ch, 1);
       return 1;
     }
-  } else {
+  }
+  else {
     uint8_t outCh = kJSONCharTable[ch];
     // Check if regular character, backslash escaped, or JSON escaped
     if (outCh == 1) {
       trans_->write(&ch, 1);
       return 1;
-    } else if (outCh > 1) {
+    }
+    else if (outCh > 1) {
       trans_->write(&kJSONBackslash, 1);
       trans_->write(&outCh, 1);
       return 2;
-    } else {
+    }
+    else {
       return writeJSONEscapeChar(ch);
     }
   }
@@ -440,7 +421,7 @@ uint32_t TJSONProtocol::writeJSONChar(uint8_t ch) {
 
 // Write out the contents of the string str as a JSON string, escaping
 // characters as appropriate.
-uint32_t TJSONProtocol::writeJSONString(const std::string& str) {
+uint32_t TJSONProtocol::writeJSONString(const std::string &str) {
   uint32_t result = context_->write(*trans_);
   result += 2; // For quotes
   trans_->write(&kJSONStringDelimiter, 1);
@@ -455,13 +436,13 @@ uint32_t TJSONProtocol::writeJSONString(const std::string& str) {
 
 // Write out the contents of the string as JSON string, base64-encoding
 // the string's contents, and escaping as appropriate
-uint32_t TJSONProtocol::writeJSONBase64(const std::string& str) {
+uint32_t TJSONProtocol::writeJSONBase64(const std::string &str) {
   uint32_t result = context_->write(*trans_);
   result += 2; // For quotes
   trans_->write(&kJSONStringDelimiter, 1);
   uint8_t b[4];
-  const uint8_t* bytes = (const uint8_t*)str.c_str();
-  if (str.length() > (std::numeric_limits<uint32_t>::max)())
+  const uint8_t *bytes = (const uint8_t *)str.c_str();
+  if(str.length() > (std::numeric_limits<uint32_t>::max)())
     throw TProtocolException(TProtocolException::SIZE_LIMIT);
   uint32_t len = static_cast<uint32_t>(str.length());
   while (len >= 3) {
@@ -470,7 +451,7 @@ uint32_t TJSONProtocol::writeJSONBase64(const std::string& str) {
     trans_->write(b, 4);
     result += 4;
     bytes += 3;
-    len -= 3;
+    len -=3;
   }
   if (len) { // Handle remainder
     base64_encode(bytes, len, b);
@@ -492,9 +473,9 @@ uint32_t TJSONProtocol::writeJSONInteger(NumberType num) {
     trans_->write(&kJSONStringDelimiter, 1);
     result += 1;
   }
-  if (val.length() > (std::numeric_limits<uint32_t>::max)())
+  if(val.length() > (std::numeric_limits<uint32_t>::max)())
     throw TProtocolException(TProtocolException::SIZE_LIMIT);
-  trans_->write((const uint8_t*)val.c_str(), static_cast<uint32_t>(val.length()));
+  trans_->write((const uint8_t *)val.c_str(), static_cast<uint32_t>(val.length()));
   result += static_cast<uint32_t>(val.length());
   if (escapeNum) {
     trans_->write(&kJSONStringDelimiter, 1);
@@ -535,9 +516,9 @@ uint32_t TJSONProtocol::writeJSONDouble(double num) {
     trans_->write(&kJSONStringDelimiter, 1);
     result += 1;
   }
-  if (val.length() > (std::numeric_limits<uint32_t>::max)())
+  if(val.length() > (std::numeric_limits<uint32_t>::max)())
     throw TProtocolException(TProtocolException::SIZE_LIMIT);
-  trans_->write((const uint8_t*)val.c_str(), static_cast<uint32_t>(val.length()));
+  trans_->write((const uint8_t *)val.c_str(), static_cast<uint32_t>(val.length()));
   result += static_cast<uint32_t>(val.length());
   if (escapeNum) {
     trans_->write(&kJSONStringDelimiter, 1);
@@ -588,7 +569,7 @@ uint32_t TJSONProtocol::writeMessageEnd() {
 }
 
 uint32_t TJSONProtocol::writeStructBegin(const char* name) {
-  (void)name;
+  (void) name;
   return writeJSONObjectStart();
 }
 
@@ -599,7 +580,7 @@ uint32_t TJSONProtocol::writeStructEnd() {
 uint32_t TJSONProtocol::writeFieldBegin(const char* name,
                                         const TType fieldType,
                                         const int16_t fieldId) {
-  (void)name;
+  (void) name;
   uint32_t result = writeJSONInteger(fieldId);
   result += writeJSONObjectStart();
   result += writeJSONString(getTypeNameForTypeID(fieldType));
@@ -629,7 +610,8 @@ uint32_t TJSONProtocol::writeMapEnd() {
   return writeJSONObjectEnd() + writeJSONArrayEnd();
 }
 
-uint32_t TJSONProtocol::writeListBegin(const TType elemType, const uint32_t size) {
+uint32_t TJSONProtocol::writeListBegin(const TType elemType,
+                                       const uint32_t size) {
   uint32_t result = writeJSONArrayStart();
   result += writeJSONString(getTypeNameForTypeID(elemType));
   result += writeJSONInteger((int64_t)size);
@@ -640,7 +622,8 @@ uint32_t TJSONProtocol::writeListEnd() {
   return writeJSONArrayEnd();
 }
 
-uint32_t TJSONProtocol::writeSetBegin(const TType elemType, const uint32_t size) {
+uint32_t TJSONProtocol::writeSetBegin(const TType elemType,
+                                      const uint32_t size) {
   uint32_t result = writeJSONArrayStart();
   result += writeJSONString(getTypeNameForTypeID(elemType));
   result += writeJSONInteger((int64_t)size);
@@ -685,9 +668,9 @@ uint32_t TJSONProtocol::writeBinary(const std::string& str) {
   return writeJSONBase64(str);
 }
 
-/**
- * Reading functions
- */
+  /**
+   * Reading functions
+   */
 
 // Reads 1 byte and verifies that it matches ch.
 uint32_t TJSONProtocol::readJSONSyntaxChar(uint8_t ch) {
@@ -696,7 +679,7 @@ uint32_t TJSONProtocol::readJSONSyntaxChar(uint8_t ch) {
 
 // Decodes the four hex parts of a JSON escaped string character and returns
 // the character via out. The first two characters must be "00".
-uint32_t TJSONProtocol::readJSONEscapeChar(uint8_t* out) {
+uint32_t TJSONProtocol::readJSONEscapeChar(uint8_t *out) {
   uint8_t b[2];
   readJSONSyntaxChar(kJSONZeroChar);
   readJSONSyntaxChar(kJSONZeroChar);
@@ -707,7 +690,7 @@ uint32_t TJSONProtocol::readJSONEscapeChar(uint8_t* out) {
 }
 
 // Decodes a JSON string, including unescaping, and returns the string via str
-uint32_t TJSONProtocol::readJSONString(std::string& str, bool skipContext) {
+uint32_t TJSONProtocol::readJSONString(std::string &str, bool skipContext) {
   uint32_t result = (skipContext ? 0 : context_->read(reader_));
   result += readJSONSyntaxChar(kJSONStringDelimiter);
   uint8_t ch;
@@ -723,12 +706,13 @@ uint32_t TJSONProtocol::readJSONString(std::string& str, bool skipContext) {
       ++result;
       if (ch == kJSONEscapeChar) {
         result += readJSONEscapeChar(&ch);
-      } else {
+      }
+      else {
         size_t pos = kEscapeChars.find(ch);
         if (pos == std::string::npos) {
           throw TProtocolException(TProtocolException::INVALID_DATA,
-                                   "Expected control char, got '" + std::string((const char*)&ch, 1)
-                                   + "'.");
+                                   "Expected control char, got '" +
+                                   std::string((const char *)&ch, 1)  + "'.");
         }
         ch = kEscapeCharVals[pos];
       }
@@ -739,17 +723,17 @@ uint32_t TJSONProtocol::readJSONString(std::string& str, bool skipContext) {
 }
 
 // Reads a block of base64 characters, decoding it, and returns via str
-uint32_t TJSONProtocol::readJSONBase64(std::string& str) {
+uint32_t TJSONProtocol::readJSONBase64(std::string &str) {
   std::string tmp;
   uint32_t result = readJSONString(tmp);
-  uint8_t* b = (uint8_t*)tmp.c_str();
-  if (tmp.length() > (std::numeric_limits<uint32_t>::max)())
+  uint8_t *b = (uint8_t *)tmp.c_str();
+  if(tmp.length() > (std::numeric_limits<uint32_t>::max)())
     throw TProtocolException(TProtocolException::SIZE_LIMIT);
   uint32_t len = static_cast<uint32_t>(tmp.length());
   str.clear();
   while (len >= 4) {
     base64_decode(b, 4);
-    str.append((const char*)b, 3);
+    str.append((const char *)b, 3);
     b += 4;
     len -= 4;
   }
@@ -757,14 +741,14 @@ uint32_t TJSONProtocol::readJSONBase64(std::string& str) {
   // base64 but legal for skip of regular string type)
   if (len > 1) {
     base64_decode(b, len);
-    str.append((const char*)b, len - 1);
+    str.append((const char *)b, len - 1);
   }
   return result;
 }
 
 // Reads a sequence of characters, stopping at the first one that is not
 // a valid JSON numeric character.
-uint32_t TJSONProtocol::readJSONNumericChars(std::string& str) {
+uint32_t TJSONProtocol::readJSONNumericChars(std::string &str) {
   uint32_t result = 0;
   str.clear();
   while (true) {
@@ -782,7 +766,7 @@ uint32_t TJSONProtocol::readJSONNumericChars(std::string& str) {
 // Reads a sequence of characters and assembles them into a number,
 // returning them via num
 template <typename NumberType>
-uint32_t TJSONProtocol::readJSONInteger(NumberType& num) {
+uint32_t TJSONProtocol::readJSONInteger(NumberType &num) {
   uint32_t result = context_->read(reader_);
   if (context_->escapeNum()) {
     result += readJSONSyntaxChar(kJSONStringDelimiter);
@@ -791,9 +775,11 @@ uint32_t TJSONProtocol::readJSONInteger(NumberType& num) {
   result += readJSONNumericChars(str);
   try {
     num = boost::lexical_cast<NumberType>(str);
-  } catch (boost::bad_lexical_cast e) {
+  }
+  catch (boost::bad_lexical_cast e) {
     throw new TProtocolException(TProtocolException::INVALID_DATA,
-                                 "Expected numeric value; got \"" + str + "\"");
+                                 "Expected numeric value; got \"" + str +
+                                  "\"");
   }
   if (context_->escapeNum()) {
     result += readJSONSyntaxChar(kJSONStringDelimiter);
@@ -802,19 +788,22 @@ uint32_t TJSONProtocol::readJSONInteger(NumberType& num) {
 }
 
 // Reads a JSON number or string and interprets it as a double.
-uint32_t TJSONProtocol::readJSONDouble(double& num) {
+uint32_t TJSONProtocol::readJSONDouble(double &num) {
   uint32_t result = context_->read(reader_);
   std::string str;
   if (reader_.peek() == kJSONStringDelimiter) {
     result += readJSONString(str, true);
     // Check for NaN, Infinity and -Infinity
     if (str == kThriftNan) {
-      num = HUGE_VAL / HUGE_VAL; // generates NaN
-    } else if (str == kThriftInfinity) {
+      num = HUGE_VAL/HUGE_VAL; // generates NaN
+    }
+    else if (str == kThriftInfinity) {
       num = HUGE_VAL;
-    } else if (str == kThriftNegativeInfinity) {
+    }
+    else if (str == kThriftNegativeInfinity) {
       num = -HUGE_VAL;
-    } else {
+    }
+    else {
       if (!context_->escapeNum()) {
         // Throw exception -- we should not be in a string in this case
         throw new TProtocolException(TProtocolException::INVALID_DATA,
@@ -822,12 +811,15 @@ uint32_t TJSONProtocol::readJSONDouble(double& num) {
       }
       try {
         num = boost::lexical_cast<double>(str);
-      } catch (boost::bad_lexical_cast e) {
+      }
+      catch (boost::bad_lexical_cast e) {
         throw new TProtocolException(TProtocolException::INVALID_DATA,
-                                     "Expected numeric value; got \"" + str + "\"");
+                                     "Expected numeric value; got \"" + str +
+                                     "\"");
       }
     }
-  } else {
+  }
+  else {
     if (context_->escapeNum()) {
       // This will throw - we should have had a quote if escapeNum == true
       readJSONSyntaxChar(kJSONStringDelimiter);
@@ -835,9 +827,11 @@ uint32_t TJSONProtocol::readJSONDouble(double& num) {
     result += readJSONNumericChars(str);
     try {
       num = boost::lexical_cast<double>(str);
-    } catch (boost::bad_lexical_cast e) {
+    }
+    catch (boost::bad_lexical_cast e) {
       throw new TProtocolException(TProtocolException::INVALID_DATA,
-                                   "Expected numeric value; got \"" + str + "\"");
+                                   "Expected numeric value; got \"" + str +
+                                   "\"");
     }
   }
   return result;
@@ -876,13 +870,14 @@ uint32_t TJSONProtocol::readMessageBegin(std::string& name,
   uint64_t tmpVal = 0;
   result += readJSONInteger(tmpVal);
   if (tmpVal != kThriftVersion1) {
-    throw TProtocolException(TProtocolException::BAD_VERSION, "Message contained bad version.");
+    throw TProtocolException(TProtocolException::BAD_VERSION,
+                             "Message contained bad version.");
   }
   result += readJSONString(name);
   result += readJSONInteger(tmpVal);
   messageType = (TMessageType)tmpVal;
   result += readJSONInteger(tmpVal);
-  if (tmpVal > static_cast<uint64_t>((std::numeric_limits<int32_t>::max)()))
+  if(tmpVal > static_cast<uint64_t>((std::numeric_limits<int32_t>::max)()))
     throw TProtocolException(TProtocolException::SIZE_LIMIT);
   seqid = static_cast<int32_t>(tmpVal);
   return result;
@@ -893,7 +888,7 @@ uint32_t TJSONProtocol::readMessageEnd() {
 }
 
 uint32_t TJSONProtocol::readStructBegin(std::string& name) {
-  (void)name;
+  (void) name;
   return readJSONObjectStart();
 }
 
@@ -901,18 +896,21 @@ uint32_t TJSONProtocol::readStructEnd() {
   return readJSONObjectEnd();
 }
 
-uint32_t TJSONProtocol::readFieldBegin(std::string& name, TType& fieldType, int16_t& fieldId) {
-  (void)name;
+uint32_t TJSONProtocol::readFieldBegin(std::string& name,
+                                       TType& fieldType,
+                                       int16_t& fieldId) {
+  (void) name;
   uint32_t result = 0;
   // Check if we hit the end of the list
   uint8_t ch = reader_.peek();
   if (ch == kJSONObjectEnd) {
     fieldType = apache::thrift::protocol::T_STOP;
-  } else {
+  }
+  else {
     uint64_t tmpVal = 0;
     std::string tmpStr;
     result += readJSONInteger(tmpVal);
-    if (tmpVal > static_cast<uint32_t>((std::numeric_limits<int16_t>::max)()))
+    if(tmpVal > static_cast<uint32_t>((std::numeric_limits<int16_t>::max)()))
       throw TProtocolException(TProtocolException::SIZE_LIMIT);
     fieldId = static_cast<int16_t>(tmpVal);
     result += readJSONObjectStart();
@@ -926,7 +924,9 @@ uint32_t TJSONProtocol::readFieldEnd() {
   return readJSONObjectEnd();
 }
 
-uint32_t TJSONProtocol::readMapBegin(TType& keyType, TType& valType, uint32_t& size) {
+uint32_t TJSONProtocol::readMapBegin(TType& keyType,
+                                     TType& valType,
+                                     uint32_t& size) {
   uint64_t tmpVal = 0;
   std::string tmpStr;
   uint32_t result = readJSONArrayStart();
@@ -935,7 +935,7 @@ uint32_t TJSONProtocol::readMapBegin(TType& keyType, TType& valType, uint32_t& s
   result += readJSONString(tmpStr);
   valType = getTypeIDForTypeName(tmpStr);
   result += readJSONInteger(tmpVal);
-  if (tmpVal > (std::numeric_limits<uint32_t>::max)())
+  if(tmpVal > (std::numeric_limits<uint32_t>::max)())
     throw TProtocolException(TProtocolException::SIZE_LIMIT);
   size = static_cast<uint32_t>(tmpVal);
   result += readJSONObjectStart();
@@ -946,14 +946,15 @@ uint32_t TJSONProtocol::readMapEnd() {
   return readJSONObjectEnd() + readJSONArrayEnd();
 }
 
-uint32_t TJSONProtocol::readListBegin(TType& elemType, uint32_t& size) {
+uint32_t TJSONProtocol::readListBegin(TType& elemType,
+                                      uint32_t& size) {
   uint64_t tmpVal = 0;
   std::string tmpStr;
   uint32_t result = readJSONArrayStart();
   result += readJSONString(tmpStr);
   elemType = getTypeIDForTypeName(tmpStr);
   result += readJSONInteger(tmpVal);
-  if (tmpVal > (std::numeric_limits<uint32_t>::max)())
+  if(tmpVal > (std::numeric_limits<uint32_t>::max)())
     throw TProtocolException(TProtocolException::SIZE_LIMIT);
   size = static_cast<uint32_t>(tmpVal);
   return result;
@@ -963,14 +964,15 @@ uint32_t TJSONProtocol::readListEnd() {
   return readJSONArrayEnd();
 }
 
-uint32_t TJSONProtocol::readSetBegin(TType& elemType, uint32_t& size) {
+uint32_t TJSONProtocol::readSetBegin(TType& elemType,
+                                     uint32_t& size) {
   uint64_t tmpVal = 0;
   std::string tmpStr;
   uint32_t result = readJSONArrayStart();
   result += readJSONString(tmpStr);
   elemType = getTypeIDForTypeName(tmpStr);
   result += readJSONInteger(tmpVal);
-  if (tmpVal > (std::numeric_limits<uint32_t>::max)())
+  if(tmpVal > (std::numeric_limits<uint32_t>::max)())
     throw TProtocolException(TProtocolException::SIZE_LIMIT);
   size = static_cast<uint32_t>(tmpVal);
   return result;
@@ -987,8 +989,8 @@ uint32_t TJSONProtocol::readBool(bool& value) {
 // readByte() must be handled properly becuase boost::lexical cast sees int8_t
 // as a text type instead of an integer type
 uint32_t TJSONProtocol::readByte(int8_t& byte) {
-  int16_t tmp = (int16_t)byte;
-  uint32_t result = readJSONInteger(tmp);
+  int16_t tmp = (int16_t) byte;
+  uint32_t result =  readJSONInteger(tmp);
   assert(tmp < 256);
   byte = (int8_t)tmp;
   return result;
@@ -1010,13 +1012,12 @@ uint32_t TJSONProtocol::readDouble(double& dub) {
   return readJSONDouble(dub);
 }
 
-uint32_t TJSONProtocol::readString(std::string& str) {
+uint32_t TJSONProtocol::readString(std::string &str) {
   return readJSONString(str);
 }
 
-uint32_t TJSONProtocol::readBinary(std::string& str) {
+uint32_t TJSONProtocol::readBinary(std::string &str) {
   return readJSONBase64(str);
 }
-}
-}
-} // apache::thrift::protocol
+
+}}} // apache::thrift::protocol

http://git-wip-us.apache.org/repos/asf/thrift/blob/240120c8/lib/cpp/src/thrift/protocol/TJSONProtocol.h
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/protocol/TJSONProtocol.h b/lib/cpp/src/thrift/protocol/TJSONProtocol.h
index b19c35d..edfc744 100644
--- a/lib/cpp/src/thrift/protocol/TJSONProtocol.h
+++ b/lib/cpp/src/thrift/protocol/TJSONProtocol.h
@@ -24,9 +24,7 @@
 
 #include <stack>
 
-namespace apache {
-namespace thrift {
-namespace protocol {
+namespace apache { namespace thrift { namespace protocol {
 
 // Forward declaration
 class TJSONContext;
@@ -90,12 +88,14 @@ class TJSONContext;
  *
  */
 class TJSONProtocol : public TVirtualProtocol<TJSONProtocol> {
-public:
+ public:
+
   TJSONProtocol(boost::shared_ptr<TTransport> ptrans);
 
   ~TJSONProtocol();
 
-private:
+ private:
+
   void pushContext(boost::shared_ptr<TJSONContext> c);
 
   void popContext();
@@ -104,16 +104,16 @@ private:
 
   uint32_t writeJSONChar(uint8_t ch);
 
-  uint32_t writeJSONString(const std::string& str);
+  uint32_t writeJSONString(const std::string &str);
 
-  uint32_t writeJSONBase64(const std::string& str);
+  uint32_t writeJSONBase64(const std::string &str);
 
   template <typename NumberType>
   uint32_t writeJSONInteger(NumberType num);
 
   uint32_t writeJSONDouble(double num);
 
-  uint32_t writeJSONObjectStart();
+  uint32_t writeJSONObjectStart() ;
 
   uint32_t writeJSONObjectEnd();
 
@@ -123,18 +123,18 @@ private:
 
   uint32_t readJSONSyntaxChar(uint8_t ch);
 
-  uint32_t readJSONEscapeChar(uint8_t* out);
+  uint32_t readJSONEscapeChar(uint8_t *out);
 
-  uint32_t readJSONString(std::string& str, bool skipContext = false);
+  uint32_t readJSONString(std::string &str, bool skipContext = false);
 
-  uint32_t readJSONBase64(std::string& str);
+  uint32_t readJSONBase64(std::string &str);
 
-  uint32_t readJSONNumericChars(std::string& str);
+  uint32_t readJSONNumericChars(std::string &str);
 
   template <typename NumberType>
-  uint32_t readJSONInteger(NumberType& num);
+  uint32_t readJSONInteger(NumberType &num);
 
-  uint32_t readJSONDouble(double& num);
+  uint32_t readJSONDouble(double &num);
 
   uint32_t readJSONObjectStart();
 
@@ -144,7 +144,8 @@ private:
 
   uint32_t readJSONArrayEnd();
 
-public:
+ public:
+
   /**
    * Writing functions.
    */
@@ -159,21 +160,27 @@ public:
 
   uint32_t writeStructEnd();
 
-  uint32_t writeFieldBegin(const char* name, const TType fieldType, const int16_t fieldId);
+  uint32_t writeFieldBegin(const char* name,
+                           const TType fieldType,
+                           const int16_t fieldId);
 
   uint32_t writeFieldEnd();
 
   uint32_t writeFieldStop();
 
-  uint32_t writeMapBegin(const TType keyType, const TType valType, const uint32_t size);
+  uint32_t writeMapBegin(const TType keyType,
+                         const TType valType,
+                         const uint32_t size);
 
   uint32_t writeMapEnd();
 
-  uint32_t writeListBegin(const TType elemType, const uint32_t size);
+  uint32_t writeListBegin(const TType elemType,
+                          const uint32_t size);
 
   uint32_t writeListEnd();
 
-  uint32_t writeSetBegin(const TType elemType, const uint32_t size);
+  uint32_t writeSetBegin(const TType elemType,
+                         const uint32_t size);
 
   uint32_t writeSetEnd();
 
@@ -197,7 +204,9 @@ public:
    * Reading functions
    */
 
-  uint32_t readMessageBegin(std::string& name, TMessageType& messageType, int32_t& seqid);
+  uint32_t readMessageBegin(std::string& name,
+                            TMessageType& messageType,
+                            int32_t& seqid);
 
   uint32_t readMessageEnd();
 
@@ -205,19 +214,25 @@ public:
 
   uint32_t readStructEnd();
 
-  uint32_t readFieldBegin(std::string& name, TType& fieldType, int16_t& fieldId);
+  uint32_t readFieldBegin(std::string& name,
+                          TType& fieldType,
+                          int16_t& fieldId);
 
   uint32_t readFieldEnd();
 
-  uint32_t readMapBegin(TType& keyType, TType& valType, uint32_t& size);
+  uint32_t readMapBegin(TType& keyType,
+                        TType& valType,
+                        uint32_t& size);
 
   uint32_t readMapEnd();
 
-  uint32_t readListBegin(TType& elemType, uint32_t& size);
+  uint32_t readListBegin(TType& elemType,
+                         uint32_t& size);
 
   uint32_t readListEnd();
 
-  uint32_t readSetBegin(TType& elemType, uint32_t& size);
+  uint32_t readSetBegin(TType& elemType,
+                        uint32_t& size);
 
   uint32_t readSetEnd();
 
@@ -242,13 +257,18 @@ public:
 
   class LookaheadReader {
 
-  public:
-    LookaheadReader(TTransport& trans) : trans_(&trans), hasData_(false) {}
+   public:
+
+    LookaheadReader(TTransport &trans) :
+      trans_(&trans),
+      hasData_(false) {
+    }
 
     uint8_t read() {
       if (hasData_) {
         hasData_ = false;
-      } else {
+      }
+      else {
         trans_->readAll(&data_, 1);
       }
       return data_;
@@ -262,13 +282,13 @@ public:
       return data_;
     }
 
-  private:
-    TTransport* trans_;
+   private:
+    TTransport *trans_;
     bool hasData_;
     uint8_t data_;
   };
 
-private:
+ private:
   TTransport* trans_;
 
   std::stack<boost::shared_ptr<TJSONContext> > contexts_;
@@ -280,7 +300,7 @@ private:
  * Constructs input and output protocol objects given transports.
  */
 class TJSONProtocolFactory : public TProtocolFactory {
-public:
+ public:
   TJSONProtocolFactory() {}
 
   virtual ~TJSONProtocolFactory() {}
@@ -289,18 +309,17 @@ public:
     return boost::shared_ptr<TProtocol>(new TJSONProtocol(trans));
   }
 };
-}
-}
-} // apache::thrift::protocol
+
+}}} // apache::thrift::protocol
+
 
 // TODO(dreiss): Move part of ThriftJSONString into a .cpp file and remove this.
 #include <thrift/transport/TBufferTransports.h>
 
-namespace apache {
-namespace thrift {
+namespace apache { namespace thrift {
 
-template <typename ThriftStruct>
-std::string ThriftJSONString(const ThriftStruct& ts) {
+template<typename ThriftStruct>
+  std::string ThriftJSONString(const ThriftStruct& ts) {
   using namespace apache::thrift::transport;
   using namespace apache::thrift::protocol;
   TMemoryBuffer* buffer = new TMemoryBuffer;
@@ -314,7 +333,7 @@ std::string ThriftJSONString(const ThriftStruct& ts) {
   buffer->getBuffer(&buf, &size);
   return std::string((char*)buf, (unsigned int)size);
 }
-}
-} // apache::thrift
+
+}} // apache::thrift
 
 #endif // #define _THRIFT_PROTOCOL_TJSONPROTOCOL_H_ 1

http://git-wip-us.apache.org/repos/asf/thrift/blob/240120c8/lib/cpp/src/thrift/protocol/TMultiplexedProtocol.cpp
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/protocol/TMultiplexedProtocol.cpp b/lib/cpp/src/thrift/protocol/TMultiplexedProtocol.cpp
index f0dc69e..756b9b9 100644
--- a/lib/cpp/src/thrift/protocol/TMultiplexedProtocol.cpp
+++ b/lib/cpp/src/thrift/protocol/TMultiplexedProtocol.cpp
@@ -21,20 +21,27 @@
 #include <thrift/processor/TMultiplexedProcessor.h>
 #include <thrift/protocol/TProtocolDecorator.h>
 
-namespace apache {
-namespace thrift {
-namespace protocol {
-uint32_t TMultiplexedProtocol::writeMessageBegin_virt(const std::string& _name,
-                                                      const TMessageType _type,
-                                                      const int32_t _seqid) {
-  if (_type == T_CALL || _type == T_ONEWAY) {
-    return TProtocolDecorator::writeMessageBegin_virt(serviceName + separator + _name,
-                                                      _type,
-                                                      _seqid);
-  } else {
-    return TProtocolDecorator::writeMessageBegin_virt(_name, _type, _seqid);
-  }
-}
-}
-}
+namespace apache
+{
+    namespace thrift
+    {
+        namespace protocol
+        {
+            uint32_t TMultiplexedProtocol::writeMessageBegin_virt(
+                const std::string& _name,
+                const TMessageType _type,
+                const int32_t _seqid)
+            {
+                if( _type == T_CALL || _type == T_ONEWAY )
+                {
+                    return TProtocolDecorator::writeMessageBegin_virt( serviceName + separator + _name, _type, _seqid );
+                }
+                else
+                {
+                    return TProtocolDecorator::writeMessageBegin_virt(_name, _type, _seqid);
+                }
+            }
+        }
+    }
 }
+

http://git-wip-us.apache.org/repos/asf/thrift/blob/240120c8/lib/cpp/src/thrift/protocol/TMultiplexedProtocol.h
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/protocol/TMultiplexedProtocol.h b/lib/cpp/src/thrift/protocol/TMultiplexedProtocol.h
index 0244fbe..e93f371 100644
--- a/lib/cpp/src/thrift/protocol/TMultiplexedProtocol.h
+++ b/lib/cpp/src/thrift/protocol/TMultiplexedProtocol.h
@@ -22,74 +22,82 @@
 
 #include <thrift/protocol/TProtocolDecorator.h>
 
-namespace apache {
-namespace thrift {
-namespace protocol {
-using boost::shared_ptr;
+namespace apache
+{
+    namespace thrift
+    {
+        namespace protocol
+        {
+            using boost::shared_ptr;
 
-/**
- * <code>TMultiplexedProtocol</code> is a protocol-independent concrete decorator
- * that allows a Thrift client to communicate with a multiplexing Thrift server,
- * by prepending the service name to the function name during function calls.
- *
- * \note THIS IS NOT USED BY SERVERS.  On the server, use
- * {@link apache::thrift::TMultiplexedProcessor TMultiplexedProcessor} to handle requests
- * from a multiplexing client.
- *
- * This example uses a single socket transport to invoke two services:
- *
- * <blockquote><code>
- *     shared_ptr<TSocket> transport(new TSocket("localhost", 9090));
- *     transport->open();
- *
- *     shared_ptr<TBinaryProtocol> protocol(new TBinaryProtocol(transport));
- *
- *     shared_ptr<TMultiplexedProtocol> mp1(new TMultiplexedProtocol(protocol, "Calculator"));
- *     shared_ptr<CalculatorClient> service1(new CalculatorClient(mp1));
- *
- *     shared_ptr<TMultiplexedProtocol> mp2(new TMultiplexedProtocol(protocol, "WeatherReport"));
- *     shared_ptr<WeatherReportClient> service2(new WeatherReportClient(mp2));
- *
- *     service1->add(2,2);
- *     int temp = service2->getTemperature();
- * </code></blockquote>
- *
- * @see apache::thrift::protocol::TProtocolDecorator
- */
-class TMultiplexedProtocol : public TProtocolDecorator {
-public:
-  /**
-   * Wrap the specified protocol, allowing it to be used to communicate with a
-   * multiplexing server.  The <code>serviceName</code> is required as it is
-   * prepended to the message header so that the multiplexing server can broker
-   * the function call to the proper service.
-   *
-   * \param _protocol    Your communication protocol of choice, e.g. <code>TBinaryProtocol</code>.
-   * \param _serviceName The service name of the service communicating via this protocol.
-   */
-  TMultiplexedProtocol(shared_ptr<TProtocol> _protocol, const std::string& _serviceName)
-    : TProtocolDecorator(_protocol), serviceName(_serviceName), separator(":") {}
-  virtual ~TMultiplexedProtocol() {}
+            /**
+             * <code>TMultiplexedProtocol</code> is a protocol-independent concrete decorator
+             * that allows a Thrift client to communicate with a multiplexing Thrift server,
+             * by prepending the service name to the function name during function calls.
+             *
+             * \note THIS IS NOT USED BY SERVERS.  On the server, use
+             * {@link apache::thrift::TMultiplexedProcessor TMultiplexedProcessor} to handle requests
+             * from a multiplexing client.
+             *
+             * This example uses a single socket transport to invoke two services:
+             *
+             * <blockquote><code>
+             *     shared_ptr<TSocket> transport(new TSocket("localhost", 9090));
+             *     transport->open();
+             *
+             *     shared_ptr<TBinaryProtocol> protocol(new TBinaryProtocol(transport));
+             *
+             *     shared_ptr<TMultiplexedProtocol> mp1(new TMultiplexedProtocol(protocol, "Calculator"));
+             *     shared_ptr<CalculatorClient> service1(new CalculatorClient(mp1));
+             *
+             *     shared_ptr<TMultiplexedProtocol> mp2(new TMultiplexedProtocol(protocol, "WeatherReport"));
+             *     shared_ptr<WeatherReportClient> service2(new WeatherReportClient(mp2));
+             *
+             *     service1->add(2,2);
+             *     int temp = service2->getTemperature();
+             * </code></blockquote>
+             *
+             * @see apache::thrift::protocol::TProtocolDecorator
+             */
+             class TMultiplexedProtocol : public TProtocolDecorator
+            {
+            public:
+                /**
+                 * Wrap the specified protocol, allowing it to be used to communicate with a
+                 * multiplexing server.  The <code>serviceName</code> is required as it is
+                 * prepended to the message header so that the multiplexing server can broker
+                 * the function call to the proper service.
+                 *
+                 * \param _protocol    Your communication protocol of choice, e.g. <code>TBinaryProtocol</code>.
+                 * \param _serviceName The service name of the service communicating via this protocol.
+                 */
+                 TMultiplexedProtocol( shared_ptr<TProtocol> _protocol, const std::string& _serviceName )
+                    : TProtocolDecorator(_protocol),
+                      serviceName(_serviceName),
+                      separator(":")
+                { }
+                virtual ~TMultiplexedProtocol() {}
 
-  /**
-   * Prepends the service name to the function name, separated by TMultiplexedProtocol::SEPARATOR.
-   *
-   * \param [in] _name   The name of the method to be called in the service.
-   * \param [in] _type   The type of message
-   * \param [in] _name   The sequential id of the message
-   *
-   * \throws TException  Passed through from wrapped <code>TProtocol</code> instance.
-   */
-  uint32_t writeMessageBegin_virt(const std::string& _name,
-                                  const TMessageType _type,
-                                  const int32_t _seqid);
+                /**
+                 * Prepends the service name to the function name, separated by TMultiplexedProtocol::SEPARATOR.
+                 *
+                 * \param [in] _name   The name of the method to be called in the service.
+                 * \param [in] _type   The type of message
+                 * \param [in] _name   The sequential id of the message
+                 *
+                 * \throws TException  Passed through from wrapped <code>TProtocol</code> instance.
+                 */
+                uint32_t writeMessageBegin_virt(
+                    const std::string& _name,
+                    const TMessageType _type,
+                    const int32_t _seqid);
+            private:
+                const std::string serviceName;
+                const std::string separator;
+            };
 
-private:
-  const std::string serviceName;
-  const std::string separator;
-};
-}
-}
+        }
+    }
 }
 
 #endif // THRIFT_TMULTIPLEXEDPROTOCOL_H_

http://git-wip-us.apache.org/repos/asf/thrift/blob/240120c8/lib/cpp/src/thrift/protocol/TProtocol.h
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/protocol/TProtocol.h b/lib/cpp/src/thrift/protocol/TProtocol.h
index 0c76cc0..d4c343d 100644
--- a/lib/cpp/src/thrift/protocol/TProtocol.h
+++ b/lib/cpp/src/thrift/protocol/TProtocol.h
@@ -34,6 +34,7 @@
 #include <map>
 #include <vector>
 
+
 // Use this to get around strict aliasing rules.
 // For example, uint64_t i = bitwise_cast<uint64_t>(returns_double());
 // The most obvious implementation is to just cast a pointer,
@@ -135,9 +136,7 @@ static inline To bitwise_cast(From from) {
 # error "Can't define htonll or ntohll!"
 #endif
 
-namespace apache {
-namespace thrift {
-namespace protocol {
+namespace apache { namespace thrift { namespace protocol {
 
 using apache::thrift::transport::TTransport;
 
@@ -187,91 +186,98 @@ enum TMessageType {
 template <class Protocol_>
 uint32_t skip(Protocol_& prot, TType type) {
   switch (type) {
-  case T_BOOL: {
-    bool boolv;
-    return prot.readBool(boolv);
-  }
-  case T_BYTE: {
-    int8_t bytev;
-    return prot.readByte(bytev);
-  }
-  case T_I16: {
-    int16_t i16;
-    return prot.readI16(i16);
-  }
-  case T_I32: {
-    int32_t i32;
-    return prot.readI32(i32);
-  }
-  case T_I64: {
-    int64_t i64;
-    return prot.readI64(i64);
-  }
-  case T_DOUBLE: {
-    double dub;
-    return prot.readDouble(dub);
-  }
-  case T_STRING: {
-    std::string str;
-    return prot.readBinary(str);
-  }
-  case T_STRUCT: {
-    uint32_t result = 0;
-    std::string name;
-    int16_t fid;
-    TType ftype;
-    result += prot.readStructBegin(name);
-    while (true) {
-      result += prot.readFieldBegin(name, ftype, fid);
-      if (ftype == T_STOP) {
-        break;
+  case T_BOOL:
+    {
+      bool boolv;
+      return prot.readBool(boolv);
+    }
+  case T_BYTE:
+    {
+      int8_t bytev;
+      return prot.readByte(bytev);
+    }
+  case T_I16:
+    {
+      int16_t i16;
+      return prot.readI16(i16);
+    }
+  case T_I32:
+    {
+      int32_t i32;
+      return prot.readI32(i32);
+    }
+  case T_I64:
+    {
+      int64_t i64;
+      return prot.readI64(i64);
+    }
+  case T_DOUBLE:
+    {
+      double dub;
+      return prot.readDouble(dub);
+    }
+  case T_STRING:
+    {
+      std::string str;
+      return prot.readBinary(str);
+    }
+  case T_STRUCT:
+    {
+      uint32_t result = 0;
+      std::string name;
+      int16_t fid;
+      TType ftype;
+      result += prot.readStructBegin(name);
+      while (true) {
+        result += prot.readFieldBegin(name, ftype, fid);
+        if (ftype == T_STOP) {
+          break;
+        }
+        result += skip(prot, ftype);
+        result += prot.readFieldEnd();
       }
-      result += skip(prot, ftype);
-      result += prot.readFieldEnd();
+      result += prot.readStructEnd();
+      return result;
     }
-    result += prot.readStructEnd();
-    return result;
-  }
-  case T_MAP: {
-    uint32_t result = 0;
-    TType keyType;
-    TType valType;
-    uint32_t i, size;
-    result += prot.readMapBegin(keyType, valType, size);
-    for (i = 0; i < size; i++) {
-      result += skip(prot, keyType);
-      result += skip(prot, valType);
+  case T_MAP:
+    {
+      uint32_t result = 0;
+      TType keyType;
+      TType valType;
+      uint32_t i, size;
+      result += prot.readMapBegin(keyType, valType, size);
+      for (i = 0; i < size; i++) {
+        result += skip(prot, keyType);
+        result += skip(prot, valType);
+      }
+      result += prot.readMapEnd();
+      return result;
     }
-    result += prot.readMapEnd();
-    return result;
-  }
-  case T_SET: {
-    uint32_t result = 0;
-    TType elemType;
-    uint32_t i, size;
-    result += prot.readSetBegin(elemType, size);
-    for (i = 0; i < size; i++) {
-      result += skip(prot, elemType);
+  case T_SET:
+    {
+      uint32_t result = 0;
+      TType elemType;
+      uint32_t i, size;
+      result += prot.readSetBegin(elemType, size);
+      for (i = 0; i < size; i++) {
+        result += skip(prot, elemType);
+      }
+      result += prot.readSetEnd();
+      return result;
     }
-    result += prot.readSetEnd();
-    return result;
-  }
-  case T_LIST: {
-    uint32_t result = 0;
-    TType elemType;
-    uint32_t i, size;
-    result += prot.readListBegin(elemType, size);
-    for (i = 0; i < size; i++) {
-      result += skip(prot, elemType);
+  case T_LIST:
+    {
+      uint32_t result = 0;
+      TType elemType;
+      uint32_t i, size;
+      result += prot.readListBegin(elemType, size);
+      for (i = 0; i < size; i++) {
+        result += skip(prot, elemType);
+      }
+      result += prot.readListEnd();
+      return result;
     }
-    result += prot.readListEnd();
-    return result;
-  }
-  case T_STOP:
-  case T_VOID:
-  case T_U64:
-  case T_UTF8:
-  case T_UTF16:
+  case T_STOP: case T_VOID: case T_U64: case T_UTF8: case T_UTF16:
     break;
   }
   return 0;
@@ -294,7 +300,7 @@ static const uint32_t DEFAULT_RECURSION_LIMIT = 64;
  *
  */
 class TProtocol {
-public:
+ public:
   virtual ~TProtocol() {}
 
   /**
@@ -307,6 +313,7 @@ public:
 
   virtual uint32_t writeMessageEnd_virt() = 0;
 
+
   virtual uint32_t writeStructBegin_virt(const char* name) = 0;
 
   virtual uint32_t writeStructEnd_virt() = 0;
@@ -319,16 +326,19 @@ public:
 
   virtual uint32_t writeFieldStop_virt() = 0;
 
-  virtual uint32_t writeMapBegin_virt(const TType keyType, const TType valType, const uint32_t size)
-      = 0;
+  virtual uint32_t writeMapBegin_virt(const TType keyType,
+                                      const TType valType,
+                                      const uint32_t size) = 0;
 
   virtual uint32_t writeMapEnd_virt() = 0;
 
-  virtual uint32_t writeListBegin_virt(const TType elemType, const uint32_t size) = 0;
+  virtual uint32_t writeListBegin_virt(const TType elemType,
+                                       const uint32_t size) = 0;
 
   virtual uint32_t writeListEnd_virt() = 0;
 
-  virtual uint32_t writeSetBegin_virt(const TType elemType, const uint32_t size) = 0;
+  virtual uint32_t writeSetBegin_virt(const TType elemType,
+                                      const uint32_t size) = 0;
 
   virtual uint32_t writeSetEnd_virt() = 0;
 
@@ -360,6 +370,7 @@ public:
     return writeMessageEnd_virt();
   }
 
+
   uint32_t writeStructBegin(const char* name) {
     T_VIRTUAL_CALL();
     return writeStructBegin_virt(name);
@@ -370,7 +381,9 @@ public:
     return writeStructEnd_virt();
   }
 
-  uint32_t writeFieldBegin(const char* name, const TType fieldType, const int16_t fieldId) {
+  uint32_t writeFieldBegin(const char* name,
+                           const TType fieldType,
+                           const int16_t fieldId) {
     T_VIRTUAL_CALL();
     return writeFieldBegin_virt(name, fieldType, fieldId);
   }
@@ -385,7 +398,9 @@ public:
     return writeFieldStop_virt();
   }
 
-  uint32_t writeMapBegin(const TType keyType, const TType valType, const uint32_t size) {
+  uint32_t writeMapBegin(const TType keyType,
+                         const TType valType,
+                         const uint32_t size) {
     T_VIRTUAL_CALL();
     return writeMapBegin_virt(keyType, valType, size);
   }
@@ -470,19 +485,24 @@ public:
   virtual uint32_t readStructEnd_virt() = 0;
 
   virtual uint32_t readFieldBegin_virt(std::string& name,
-  virtual uint32_t readFieldBegin_virt(std::string& name, TType& fieldType, int16_t& fieldId) = 0;
+                                       TType& fieldType,
+                                       int16_t& fieldId) = 0;
 
   virtual uint32_t readFieldEnd_virt() = 0;
 
-  virtual uint32_t readMapBegin_virt(TType& keyType, TType& valType, uint32_t& size) = 0;
+  virtual uint32_t readMapBegin_virt(TType& keyType,
+                                     TType& valType,
+                                     uint32_t& size) = 0;
 
   virtual uint32_t readMapEnd_virt() = 0;
 
-  virtual uint32_t readListBegin_virt(TType& elemType, uint32_t& size) = 0;
+  virtual uint32_t readListBegin_virt(TType& elemType,
+                                      uint32_t& size) = 0;
 
   virtual uint32_t readListEnd_virt() = 0;
 
-  virtual uint32_t readSetBegin_virt(TType& elemType, uint32_t& size) = 0;
+  virtual uint32_t readSetBegin_virt(TType& elemType,
+                                     uint32_t& size) = 0;
 
   virtual uint32_t readSetEnd_virt() = 0;
 
@@ -504,7 +524,9 @@ public:
 
   virtual uint32_t readBinary_virt(std::string& str) = 0;
 
-  uint32_t readMessageBegin(std::string& name, TMessageType& messageType, int32_t& seqid) {
+  uint32_t readMessageBegin(std::string& name,
+                            TMessageType& messageType,
+                            int32_t& seqid) {
     T_VIRTUAL_CALL();
     return readMessageBegin_virt(name, messageType, seqid);
   }
@@ -524,7 +546,9 @@ public:
     return readStructEnd_virt();
   }
 
-  uint32_t readFieldBegin(std::string& name, TType& fieldType, int16_t& fieldId) {
+  uint32_t readFieldBegin(std::string& name,
+                          TType& fieldType,
+                          int16_t& fieldId) {
     T_VIRTUAL_CALL();
     return readFieldBegin_virt(name, fieldType, fieldId);
   }
@@ -621,14 +645,22 @@ public:
     T_VIRTUAL_CALL();
     return skip_virt(type);
   }
-  virtual uint32_t skip_virt(TType type) { return ::apache::thrift::protocol::skip(*this, type); }
+  virtual uint32_t skip_virt(TType type) {
+    return ::apache::thrift::protocol::skip(*this, type);
+  }
 
-  inline boost::shared_ptr<TTransport> getTransport() { return ptrans_; }
+  inline boost::shared_ptr<TTransport> getTransport() {
+    return ptrans_;
+  }
 
   // TODO: remove these two calls, they are for backwards
   // compatibility
-  inline boost::shared_ptr<TTransport> getInputTransport() { return ptrans_; }
-  inline boost::shared_ptr<TTransport> getOutputTransport() { return ptrans_; }
+  inline boost::shared_ptr<TTransport> getInputTransport() {
+    return ptrans_;
+  }
+  inline boost::shared_ptr<TTransport> getOutputTransport() {
+    return ptrans_;
+  }
 
   void incrementRecursionDepth() {
     if (recursion_limit_ < ++recursion_depth_) {
@@ -636,15 +668,19 @@ public:
     }
   }
 
-  void decrementRecursionDepth() { --recursion_depth_; }
+  void decrementRecursionDepth() {
+    --recursion_depth_;
+  }
 
-protected:
+ protected:
   TProtocol(boost::shared_ptr<TTransport> ptrans)
-    : ptrans_(ptrans), recursion_depth_(0), recursion_limit_(DEFAULT_RECURSION_LIMIT) {}
+    : ptrans_(ptrans)
+    , recursion_depth_(0)
+    , recursion_limit_(DEFAULT_RECURSION_LIMIT) {}
 
   boost::shared_ptr<TTransport> ptrans_;
 
-private:
+ private:
   TProtocol() {}
   uint32_t recursion_depth_;
   uint32_t recursion_limit_;
@@ -654,7 +690,7 @@ private:
  * Constructs input and output protocol objects given transports.
  */
 class TProtocolFactory {
-public:
+ public:
   TProtocolFactory() {}
 
   virtual ~TProtocolFactory() {}
@@ -668,9 +704,9 @@ public:
  * This class does nothing, and should never be instantiated.
  * It is used only by the generator code.
  */
-class TDummyProtocol : public TProtocol {};
-}
-}
-} // apache::thrift::protocol
+class TDummyProtocol : public TProtocol {
+};
+
+}}} // apache::thrift::protocol
 
 #endif // #define _THRIFT_PROTOCOL_TPROTOCOL_H_ 1

http://git-wip-us.apache.org/repos/asf/thrift/blob/240120c8/lib/cpp/src/thrift/protocol/TProtocolDecorator.h
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/protocol/TProtocolDecorator.h b/lib/cpp/src/thrift/protocol/TProtocolDecorator.h
index 446a81f..570e977 100644
--- a/lib/cpp/src/thrift/protocol/TProtocolDecorator.h
+++ b/lib/cpp/src/thrift/protocol/TProtocolDecorator.h
@@ -23,129 +23,111 @@
 #include <thrift/protocol/TProtocol.h>
 #include <boost/shared_ptr.hpp>
 
-namespace apache {
-namespace thrift {
-namespace protocol {
-using boost::shared_ptr;
-
-/**
- * <code>TProtocolDecorator</code> forwards all requests to an enclosed
- * <code>TProtocol</code> instance, providing a way to author concise
- * concrete decorator subclasses.
- *
- * <p>See p.175 of Design Patterns (by Gamma et al.)</p>
- *
- * @see apache::thrift::protocol::TMultiplexedProtocol
- */
-class TProtocolDecorator : public TProtocol {
-public:
-  virtual ~TProtocolDecorator() {}
-
-  // Desc: Initializes the protocol decorator object.
-  TProtocolDecorator(shared_ptr<TProtocol> proto)
-    : TProtocol(proto->getTransport()), protocol(proto) {}
-
-  virtual uint32_t writeMessageBegin_virt(const std::string& name,
-                                          const TMessageType messageType,
-                                          const int32_t seqid) {
-    return protocol->writeMessageBegin(name, messageType, seqid);
-  }
-  virtual uint32_t writeMessageEnd_virt() { return protocol->writeMessageEnd(); }
-  virtual uint32_t writeStructBegin_virt(const char* name) {
-    return protocol->writeStructBegin(name);
-  }
-  virtual uint32_t writeStructEnd_virt() { return protocol->writeStructEnd(); }
-
-  virtual uint32_t writeFieldBegin_virt(const char* name,
-                                        const TType fieldType,
-                                        const int16_t fieldId) {
-    return protocol->writeFieldBegin(name, fieldType, fieldId);
-  }
-
-  virtual uint32_t writeFieldEnd_virt() { return protocol->writeFieldEnd(); }
-  virtual uint32_t writeFieldStop_virt() { return protocol->writeFieldStop(); }
-
-  virtual uint32_t writeMapBegin_virt(const TType keyType,
-                                      const TType valType,
-                                      const uint32_t size) {
-    return protocol->writeMapBegin(keyType, valType, size);
-  }
-
-  virtual uint32_t writeMapEnd_virt() { return protocol->writeMapEnd(); }
-
-  virtual uint32_t writeListBegin_virt(const TType elemType, const uint32_t size) {
-    return protocol->writeListBegin(elemType, size);
-  }
-  virtual uint32_t writeListEnd_virt() { return protocol->writeListEnd(); }
-
-  virtual uint32_t writeSetBegin_virt(const TType elemType, const uint32_t size) {
-    return protocol->writeSetBegin(elemType, size);
-  }
-  virtual uint32_t writeSetEnd_virt() { return protocol->writeSetEnd(); }
-
-  virtual uint32_t writeBool_virt(const bool value) { return protocol->writeBool(value); }
-  virtual uint32_t writeByte_virt(const int8_t byte) { return protocol->writeByte(byte); }
-  virtual uint32_t writeI16_virt(const int16_t i16) { return protocol->writeI16(i16); }
-  virtual uint32_t writeI32_virt(const int32_t i32) { return protocol->writeI32(i32); }
-  virtual uint32_t writeI64_virt(const int64_t i64) { return protocol->writeI64(i64); }
-
-  virtual uint32_t writeDouble_virt(const double dub) { return protocol->writeDouble(dub); }
-  virtual uint32_t writeString_virt(const std::string& str) { return protocol->writeString(str); }
-  virtual uint32_t writeBinary_virt(const std::string& str) { return protocol->writeBinary(str); }
-
-  virtual uint32_t readMessageBegin_virt(std::string& name,
-                                         TMessageType& messageType,
-                                         int32_t& seqid) {
-    return protocol->readMessageBegin(name, messageType, seqid);
-  }
-  virtual uint32_t readMessageEnd_virt() { return protocol->readMessageEnd(); }
-
-  virtual uint32_t readStructBegin_virt(std::string& name) {
-    return protocol->readStructBegin(name);
-  }
-  virtual uint32_t readStructEnd_virt() { return protocol->readStructEnd(); }
-
-  virtual uint32_t readFieldBegin_virt(std::string& name, TType& fieldType, int16_t& fieldId) {
-    return protocol->readFieldBegin(name, fieldType, fieldId);
-  }
-  virtual uint32_t readFieldEnd_virt() { return protocol->readFieldEnd(); }
-
-  virtual uint32_t readMapBegin_virt(TType& keyType, TType& valType, uint32_t& size) {
-    return protocol->readMapBegin(keyType, valType, size);
-  }
-  virtual uint32_t readMapEnd_virt() { return protocol->readMapEnd(); }
-
-  virtual uint32_t readListBegin_virt(TType& elemType, uint32_t& size) {
-    return protocol->readListBegin(elemType, size);
-  }
-  virtual uint32_t readListEnd_virt() { return protocol->readListEnd(); }
-
-  virtual uint32_t readSetBegin_virt(TType& elemType, uint32_t& size) {
-    return protocol->readSetBegin(elemType, size);
-  }
-  virtual uint32_t readSetEnd_virt() { return protocol->readSetEnd(); }
-
-  virtual uint32_t readBool_virt(bool& value) { return protocol->readBool(value); }
-  virtual uint32_t readBool_virt(std::vector<bool>::reference value) {
-    return protocol->readBool(value);
-  }
-
-  virtual uint32_t readByte_virt(int8_t& byte) { return protocol->readByte(byte); }
-
-  virtual uint32_t readI16_virt(int16_t& i16) { return protocol->readI16(i16); }
-  virtual uint32_t readI32_virt(int32_t& i32) { return protocol->readI32(i32); }
-  virtual uint32_t readI64_virt(int64_t& i64) { return protocol->readI64(i64); }
-
-  virtual uint32_t readDouble_virt(double& dub) { return protocol->readDouble(dub); }
-
-  virtual uint32_t readString_virt(std::string& str) { return protocol->readString(str); }
-  virtual uint32_t readBinary_virt(std::string& str) { return protocol->readBinary(str); }
-
-private:
-  shared_ptr<TProtocol> protocol;
-};
-}
-}
+namespace apache
+{
+    namespace thrift
+    {
+        namespace protocol
+        {
+            using boost::shared_ptr;
+
+            /**
+             * <code>TProtocolDecorator</code> forwards all requests to an enclosed
+             * <code>TProtocol</code> instance, providing a way to author concise
+             * concrete decorator subclasses.
+             *
+             * <p>See p.175 of Design Patterns (by Gamma et al.)</p>
+             *
+             * @see apache::thrift::protocol::TMultiplexedProtocol
+             */
+            class TProtocolDecorator : public TProtocol
+            {
+            public:
+                virtual ~TProtocolDecorator() {}
+
+                // Desc: Initializes the protocol decorator object.
+                TProtocolDecorator( shared_ptr<TProtocol> proto )
+                    : TProtocol(proto->getTransport()), protocol(proto)
+                {
+                }
+
+                virtual uint32_t writeMessageBegin_virt(
+                    const std::string& name,
+                    const TMessageType messageType,
+                    const int32_t seqid)
+                {
+                    return protocol->writeMessageBegin(name, messageType, seqid);
+                }
+                virtual uint32_t writeMessageEnd_virt() { return protocol->writeMessageEnd(); }
+                virtual uint32_t writeStructBegin_virt(const char* name) { return protocol->writeStructBegin(name); }
+                virtual uint32_t writeStructEnd_virt() { return protocol->writeStructEnd(); }
+
+                virtual uint32_t writeFieldBegin_virt(const char* name,
+                    const TType fieldType,
+                    const int16_t fieldId) { return protocol->writeFieldBegin(name,fieldType,fieldId); }
+
+                virtual uint32_t writeFieldEnd_virt()  { return protocol->writeFieldEnd(); }
+                virtual uint32_t writeFieldStop_virt() { return protocol->writeFieldStop(); }
+
+                virtual uint32_t writeMapBegin_virt(const TType keyType,
+                    const TType valType,
+                    const uint32_t size) { return protocol->writeMapBegin(keyType,valType,size); }
+
+                virtual uint32_t writeMapEnd_virt() { return protocol->writeMapEnd(); }
+
+                virtual uint32_t writeListBegin_virt(const TType elemType, const uint32_t size) { return protocol->writeListBegin(elemType,size); }
+                virtual uint32_t writeListEnd_virt() { return protocol->writeListEnd(); }
+
+                virtual uint32_t writeSetBegin_virt(const TType elemType, const uint32_t size) { return protocol->writeSetBegin(elemType,size); }
+                virtual uint32_t writeSetEnd_virt() { return protocol->writeSetEnd(); }
+
+                virtual uint32_t writeBool_virt(const bool value)  { return protocol->writeBool(value); }
+                virtual uint32_t writeByte_virt(const int8_t byte) { return protocol->writeByte(byte); }
+                virtual uint32_t writeI16_virt(const int16_t i16)  { return protocol->writeI16(i16); }
+                virtual uint32_t writeI32_virt(const int32_t i32)  { return protocol->writeI32(i32); }
+                virtual uint32_t writeI64_virt(const int64_t i64)  { return protocol->writeI64(i64); }
+
+                virtual uint32_t writeDouble_virt(const double dub) { return protocol->writeDouble(dub); }
+                virtual uint32_t writeString_virt(const std::string& str) { return protocol->writeString(str); }
+                virtual uint32_t writeBinary_virt(const std::string& str) { return protocol->writeBinary(str); }
+
+                virtual uint32_t readMessageBegin_virt(std::string& name, TMessageType& messageType, int32_t& seqid) { return protocol->readMessageBegin(name,messageType,seqid); }
+                virtual uint32_t readMessageEnd_virt() { return protocol->readMessageEnd(); }
+
+                virtual uint32_t readStructBegin_virt(std::string& name) { return protocol->readStructBegin(name); }
+                virtual uint32_t readStructEnd_virt() { return protocol->readStructEnd(); }
+
+                virtual uint32_t readFieldBegin_virt(std::string& name, TType& fieldType, int16_t& fieldId) { return protocol->readFieldBegin(name, fieldType, fieldId); }
+                virtual uint32_t readFieldEnd_virt() { return protocol->readFieldEnd(); }
+
+                virtual uint32_t readMapBegin_virt(TType& keyType, TType& valType, uint32_t& size) { return protocol->readMapBegin(keyType,valType,size); }
+                virtual uint32_t readMapEnd_virt() { return protocol->readMapEnd(); }
+
+                virtual uint32_t readListBegin_virt(TType& elemType, uint32_t& size) { return protocol->readListBegin(elemType,size); }
+                virtual uint32_t readListEnd_virt() { return protocol->readListEnd(); }
+
+                virtual uint32_t readSetBegin_virt(TType& elemType, uint32_t& size) { return protocol->readSetBegin(elemType,size); }
+                virtual uint32_t readSetEnd_virt() { return protocol->readSetEnd(); }
+
+                virtual uint32_t readBool_virt(bool& value) { return protocol->readBool(value); }
+                virtual uint32_t readBool_virt(std::vector<bool>::reference value) { return protocol->readBool(value); }
+
+                virtual uint32_t readByte_virt(int8_t& byte) { return protocol->readByte(byte); }
+
+                virtual uint32_t readI16_virt(int16_t& i16) { return protocol->readI16(i16); }
+                virtual uint32_t readI32_virt(int32_t& i32) { return protocol->readI32(i32); }
+                virtual uint32_t readI64_virt(int64_t& i64) { return protocol->readI64(i64); }
+
+                virtual uint32_t readDouble_virt(double& dub) { return protocol->readDouble(dub); }
+
+                virtual uint32_t readString_virt(std::string& str) { return protocol->readString(str); }
+                virtual uint32_t readBinary_virt(std::string& str) { return protocol->readBinary(str); }
+
+            private:
+                shared_ptr<TProtocol> protocol;
+            };
+        }
+    }
 }
 
 #endif // THRIFT_TPROTOCOLDECORATOR_H_

http://git-wip-us.apache.org/repos/asf/thrift/blob/240120c8/lib/cpp/src/thrift/protocol/TProtocolException.h
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/protocol/TProtocolException.h b/lib/cpp/src/thrift/protocol/TProtocolException.h
index 18a8ed0..4ddb81e 100644
--- a/lib/cpp/src/thrift/protocol/TProtocolException.h
+++ b/lib/cpp/src/thrift/protocol/TProtocolException.h
@@ -22,9 +22,7 @@
 
 #include <string>
 
-namespace apache {
-namespace thrift {
-namespace protocol {
+namespace apache { namespace thrift { namespace protocol {
 
 /**
  * Class to encapsulate all the possible types of protocol errors that may
@@ -35,29 +33,36 @@ namespace protocol {
  *
  */
 class TProtocolException : public apache::thrift::TException {
-public:
+ public:
+
   /**
    * Error codes for the various types of exceptions.
    */
-  enum TProtocolExceptionType {
-    UNKNOWN = 0,
-    INVALID_DATA = 1,
-    NEGATIVE_SIZE = 2,
-    SIZE_LIMIT = 3,
-    BAD_VERSION = 4,
-    NOT_IMPLEMENTED = 5,
-    DEPTH_LIMIT = 6
+  enum TProtocolExceptionType
+  { UNKNOWN = 0
+  , INVALID_DATA = 1
+  , NEGATIVE_SIZE = 2
+  , SIZE_LIMIT = 3
+  , BAD_VERSION = 4
+  , NOT_IMPLEMENTED = 5
+  , DEPTH_LIMIT = 6
   };
 
-  TProtocolException() : apache::thrift::TException(), type_(UNKNOWN) {}
+  TProtocolException() :
+    apache::thrift::TException(),
+    type_(UNKNOWN) {}
 
-  TProtocolException(TProtocolExceptionType type) : apache::thrift::TException(), type_(type) {}
+  TProtocolException(TProtocolExceptionType type) :
+    apache::thrift::TException(),
+    type_(type) {}
 
-  TProtocolException(const std::string& message)
-    : apache::thrift::TException(message), type_(UNKNOWN) {}
+  TProtocolException(const std::string& message) :
+    apache::thrift::TException(message),
+    type_(UNKNOWN) {}
 
-  TProtocolException(TProtocolExceptionType type, const std::string& message)
-    : apache::thrift::TException(message), type_(type) {}
+  TProtocolException(TProtocolExceptionType type, const std::string& message) :
+    apache::thrift::TException(message),
+    type_(type) {}
 
   virtual ~TProtocolException() throw() {}
 
@@ -67,39 +72,34 @@ public:
    *
    * @return Error code
    */
-  TProtocolExceptionType getType() { return type_; }
+  TProtocolExceptionType getType() {
+    return type_;
+  }
 
   virtual const char* what() const throw() {
     if (message_.empty()) {
       switch (type_) {
-      case UNKNOWN:
-        return "TProtocolException: Unknown protocol exception";
-      case INVALID_DATA:
-        return "TProtocolException: Invalid data";
-      case NEGATIVE_SIZE:
-        return "TProtocolException: Negative size";
-      case SIZE_LIMIT:
-        return "TProtocolException: Exceeded size limit";
-      case BAD_VERSION:
-        return "TProtocolException: Invalid version";
-      case NOT_IMPLEMENTED:
-        return "TProtocolException: Not implemented";
-      default:
-        return "TProtocolException: (Invalid exception type)";
+        case UNKNOWN         : return "TProtocolException: Unknown protocol exception";
+        case INVALID_DATA    : return "TProtocolException: Invalid data";
+        case NEGATIVE_SIZE   : return "TProtocolException: Negative size";
+        case SIZE_LIMIT      : return "TProtocolException: Exceeded size limit";
+        case BAD_VERSION     : return "TProtocolException: Invalid version";
+        case NOT_IMPLEMENTED : return "TProtocolException: Not implemented";
+        default              : return "TProtocolException: (Invalid exception type)";
       }
     } else {
       return message_.c_str();
     }
   }
 
-protected:
+ protected:
   /**
    * Error code
    */
   TProtocolExceptionType type_;
+
 };
-}
-}
-} // apache::thrift::protocol
+
+}}} // apache::thrift::protocol
 
 #endif // #ifndef _THRIFT_PROTOCOL_TPROTOCOLEXCEPTION_H_

http://git-wip-us.apache.org/repos/asf/thrift/blob/240120c8/lib/cpp/src/thrift/protocol/TProtocolTap.h
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/protocol/TProtocolTap.h b/lib/cpp/src/thrift/protocol/TProtocolTap.h
index 3e56393..f493f88 100644
--- a/lib/cpp/src/thrift/protocol/TProtocolTap.h
+++ b/lib/cpp/src/thrift/protocol/TProtocolTap.h
@@ -22,9 +22,7 @@
 
 #include <thrift/protocol/TVirtualProtocol.h>
 
-namespace apache {
-namespace thrift {
-namespace protocol {
+namespace apache { namespace thrift { namespace protocol {
 
 using apache::thrift::transport::TTransport;
 
@@ -35,11 +33,17 @@ using apache::thrift::transport::TTransport;
  *
  */
 class TProtocolTap : public TVirtualProtocol<TProtocolTap> {
-public:
-  TProtocolTap(boost::shared_ptr<TProtocol> source, boost::shared_ptr<TProtocol> sink)
-    : TVirtualProtocol<TProtocolTap>(source->getTransport()), source_(source), sink_(sink) {}
-
-  uint32_t readMessageBegin(std::string& name, TMessageType& messageType, int32_t& seqid) {
+ public:
+   TProtocolTap(boost::shared_ptr<TProtocol> source,
+                boost::shared_ptr<TProtocol> sink)
+     : TVirtualProtocol<TProtocolTap>(source->getTransport())
+     , source_(source)
+     , sink_(sink)
+  {}
+
+  uint32_t readMessageBegin(std::string& name,
+                            TMessageType& messageType,
+                            int32_t& seqid) {
     uint32_t rv = source_->readMessageBegin(name, messageType, seqid);
     sink_->writeMessageBegin(name, messageType, seqid);
     return rv;
@@ -63,7 +67,9 @@ public:
     return rv;
   }
 
-  uint32_t readFieldBegin(std::string& name, TType& fieldType, int16_t& fieldId) {
+  uint32_t readFieldBegin(std::string& name,
+                          TType& fieldType,
+                          int16_t& fieldId) {
     uint32_t rv = source_->readFieldBegin(name, fieldType, fieldId);
     if (fieldType == T_STOP) {
       sink_->writeFieldStop();
@@ -73,18 +79,22 @@ public:
     return rv;
   }
 
+
   uint32_t readFieldEnd() {
     uint32_t rv = source_->readFieldEnd();
     sink_->writeFieldEnd();
     return rv;
   }
 
-  uint32_t readMapBegin(TType& keyType, TType& valType, uint32_t& size) {
+  uint32_t readMapBegin(TType& keyType,
+                        TType& valType,
+                        uint32_t& size) {
     uint32_t rv = source_->readMapBegin(keyType, valType, size);
     sink_->writeMapBegin(keyType, valType, size);
     return rv;
   }
 
+
   uint32_t readMapEnd() {
     uint32_t rv = source_->readMapEnd();
     sink_->writeMapEnd();
@@ -97,6 +107,7 @@ public:
     return rv;
   }
 
+
   uint32_t readListEnd() {
     uint32_t rv = source_->readListEnd();
     sink_->writeListEnd();
@@ -109,6 +120,7 @@ public:
     return rv;
   }
 
+
   uint32_t readSetEnd() {
     uint32_t rv = source_->readSetEnd();
     sink_->writeSetEnd();
@@ -166,12 +178,11 @@ public:
     return rv;
   }
 
-private:
+ private:
   boost::shared_ptr<TProtocol> source_;
   boost::shared_ptr<TProtocol> sink_;
 };
-}
-}
-} // apache::thrift::protocol
+
+}}} // apache::thrift::protocol
 
 #endif // #define _THRIFT_PROTOCOL_TPROTOCOLTAP_H_ 1