in activemq-cpp-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/commands/XATransactionIdSourceGenerator.java [73:174]
protected void generateAdditionalMethods( PrintWriter out ) {
out.println("////////////////////////////////////////////////////////////////////////////////");
out.println("cms::Xid* XATransactionId::clone() const {");
out.println("");
out.println(" XATransactionId* theClone = new XATransactionId();");
out.println("");
out.println(" theClone->formatId = this->formatId;");
out.println(" theClone->globalTransactionId = this->globalTransactionId;");
out.println(" theClone->branchQualifier = this->branchQualifier;");
out.println("");
out.println(" return theClone;");
out.println("}");
out.println("");
out.println("////////////////////////////////////////////////////////////////////////////////");
out.println("bool XATransactionId::equals(const cms::Xid* other) const {");
out.println("");
out.println(" if ((void*)this == other) {");
out.println(" return true;");
out.println(" }");
out.println("");
out.println(" if (other == NULL) {");
out.println(" return false;");
out.println(" }");
out.println("");
out.println(" if (this->formatId != other->getFormatId()) {");
out.println(" return false;");
out.println(" }");
out.println("");
out.println(" std::vector<unsigned char> otherBQual(Xid::MAXBQUALSIZE);");
out.println("");
out.println(" other->getBranchQualifier(&otherBQual[0], Xid::MAXBQUALSIZE);");
out.println("");
out.println(" if (this->branchQualifier != otherBQual) {");
out.println(" return false;");
out.println(" }");
out.println("");
out.println(" std::vector<unsigned char> otherGTXID( Xid::MAXBQUALSIZE);");
out.println("");
out.println(" other->getGlobalTransactionId( &otherGTXID[0], Xid::MAXGTRIDSIZE);");
out.println("");
out.println(" if (this->globalTransactionId != otherGTXID) {");
out.println(" return false;");
out.println(" }");
out.println("");
out.println(" return true;");
out.println("}");
out.println("");
out.println("////////////////////////////////////////////////////////////////////////////////");
out.println("int XATransactionId::getBranchQualifier( unsigned char* buffer, int size ) const {");
out.println("");
out.println(" if( size < 0 ) {");
out.println(" throw cms::XAException(\"Error: Negative size value passed to getBranchQualifier()\");");
out.println(" }");
out.println("");
out.println(" if( buffer == NULL ) {");
out.println(" throw cms::XAException(\"Error: NULL buffer pointer passed to getBranchQualifier()\");");
out.println(" }");
out.println("");
out.println(" if( size < (int)this->branchQualifier.size() ) {");
out.println(" return -1;");
out.println(" }");
out.println("");
out.println(" if( this->branchQualifier.size() == 0 ) {");
out.println(" return 0;");
out.println(" }");
out.println("");
out.println(" for (int i = 0; i < (int)this->branchQualifier.size(); ++i) {");
out.println(" buffer[i] = this->branchQualifier.at(i);");
out.println(" }");
out.println("");
out.println(" return (int)this->branchQualifier.size();");
out.println("}");
out.println("");
out.println("////////////////////////////////////////////////////////////////////////////////");
out.println("int XATransactionId::getGlobalTransactionId( unsigned char* buffer, int size ) const {");
out.println("");
out.println(" if( size < 0 ) {");
out.println(" throw cms::XAException(\"Error: Negative size value passed to getGlobalTransactionId()\");");
out.println(" }");
out.println("");
out.println(" if( buffer == NULL ) {");
out.println(" throw cms::XAException(\"Error: NULL buffer pointer passed to getGlobalTransactionId()\");");
out.println(" }");
out.println("");
out.println(" if( size < (int)this->globalTransactionId.size() ) {");
out.println(" return -1;");
out.println(" }");
out.println("");
out.println(" if( this->globalTransactionId.size() == 0 ) {");
out.println(" return 0;");
out.println(" }");
out.println("");
out.println(" for (int i = 0; i < (int)this->globalTransactionId.size(); ++i) {");
out.println(" buffer[i] = this->globalTransactionId.at(i);");
out.println(" }");
out.println("");
out.println(" return (int)this->globalTransactionId.size();");
out.println("}");
out.println("");
super.generateAdditionalMethods(out);
}