[ 
https://issues.apache.org/jira/browse/THRIFT-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13862476#comment-13862476
 ] 

Hudson commented on THRIFT-2304:
--------------------------------

SUCCESS: Integrated in Thrift #984 (See 
[https://builds.apache.org/job/Thrift/984/])
THRIFT-2304 cpp:Move client assignments from construtor in method (roger: rev 
6bac11f4fa3d96acdbd9e625be11f4f97aa053bc)
* compiler/cpp/src/generate/t_cpp_generator.cc


> Move client assignments from construtor in method
> -------------------------------------------------
>
>                 Key: THRIFT-2304
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2304
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Compiler
>    Affects Versions: 0.9.1
>            Reporter: Martin Vogt
>            Assignee: Roger Meier
>            Priority: Trivial
>         Attachments: setProto_Client-131231v1.patch
>
>
> The current generated client code in C++ look like this
> (namespace removed, for better formatting):
> {code}
> class MyServiceClient : virtual public MyServiceIf {
>  public:
>   MyServiceClient(shared_ptr< TProtocol> prot) :
>     piprot_(prot),
>     poprot_(prot) {
>     iprot_ = prot.get();
>     oprot_ = prot.get();
>   }
>  [...]
> {code}
> The member variables are assigned in the constructor.
> The patch puts the assignment into its own method:
> {code}
> class MyServiceClient : virtual public MyServiceIf {
>  public:
>   MyServiceClient(shared_ptr< TProtocol> prot) {
>     setProtocol(prot);
>   }
>   [..]
> private:
>   void setProtocol(shared_ptr< TProtocol> prot) {
>      setProtocol(prot,prot);
>   }
>  void setProtocol(shared<:TProtocol> iprot,shared_ptr<TProtocol> oprot) {
>     piprot_=iprot;
>     poprot_=oprot;
>     iprot_ = iprot.get();
>     oprot_ = oprot.get();
>   }
> {code}
> This allows to change the TProtocol instance, after the Client creation. 
> (With removing the private field or using a virtual method in a Service base 
> class)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to