1 /*
2  * hunt-amqp: AMQP library for D programming language, based on hunt-net.
3  *
4  * Copyright (C) 2018-2019 HuntLabs
5  *
6  * Website: https://www.huntlabs.net
7  *
8  * Licensed under the Apache-2.0 License.
9  *
10  */
11 module hunt.amqp.streams.impl.ProtonSubscriberWrapperImpl;
12 
13 
14 import hunt.proton.amqp.transport.Source;
15 import hunt.proton.amqp.transport.Target;
16 import hunt.proton.message.Message;
17 import hunt.amqp.streams.Subscription;
18 
19 import hunt.amqp.ProtonSender;
20 import hunt.amqp.streams.ProtonSubscriber;
21 import hunt.amqp.streams.Tracker;
22 import hunt.amqp.streams.impl.ProtonSubscriberImpl;
23 
24 class ProtonSubscriberWrapperImpl : ProtonSubscriber!Message {
25 
26   private  ProtonSubscriberImpl _delegate;
27 
28   this(ProtonSubscriberImpl delegat) {
29     this._delegate = delegat;
30   }
31 
32   
33   public void onSubscribe(Subscription subscription) {
34     _delegate.onSubscribe(subscription);
35   }
36 
37   
38   public void onNext(Message m) {
39 
40     Tracker s = Tracker.create(m, null);
41 
42     _delegate.onNext(s);
43   }
44 
45   
46   public void onError(Throwable t) {
47     _delegate.onError(t);
48   }
49 
50   
51   public void onComplete() {
52     _delegate.onComplete();
53   }
54 
55   public bool isEmitOnConnectionEnd() {
56     return _delegate.isEmitOnConnectionEnd();
57   }
58 
59   public void setEmitOnConnectionEnd(bool emitOnConnectionEnd) {
60     _delegate.setEmitOnConnectionEnd(emitOnConnectionEnd);
61   }
62 
63   public ProtonSender getLink() {
64     return _delegate.getLink();
65   }
66 
67   
68   public ProtonSubscriber!Message setSource(Source source) {
69     _delegate.setSource(source);
70     return this;
71   }
72 
73   
74   public Source getSource() {
75     return _delegate.getSource();
76   }
77 
78   
79   public ProtonSubscriber!Message setTarget(Target target) {
80     _delegate.setTarget(target);
81     return this;
82   }
83 
84   
85   public Target getTarget() {
86     return _delegate.getTarget();
87   }
88 
89   public Source getRemoteSource() {
90     return _delegate.getRemoteSource();
91   }
92 
93   public Target getRemoteTarget() {
94     return _delegate.getRemoteTarget();
95   }
96 }