1use crate::Ext2;
2use activitystreams::{
3 activity::{
4 Activity, ActivityActor, ActivityObject, AsActivity, AsActivityActor, AsActivityObject,
5 AsOptOrigin, AsOptTarget, AsOrigin, AsQuestion, AsTarget, OptOrigin, OptTarget, Origin,
6 Question, Target,
7 },
8 actor::{ApActor, AsApActor},
9 base::{AsBase, Base},
10 collection::{AsCollection, AsCollectionPage, Collection, CollectionPage},
11 markers,
12 object::{ApObject, AsApObject, AsObject, Object},
13};
14
15impl<Inner, A, B> markers::Base for Ext2<Inner, A, B> where Inner: markers::Base {}
16impl<Inner, A, B> markers::Object for Ext2<Inner, A, B> where Inner: markers::Object {}
17impl<Inner, A, B> markers::Collection for Ext2<Inner, A, B> where Inner: markers::Collection {}
18impl<Inner, A, B> markers::CollectionPage for Ext2<Inner, A, B> where Inner: markers::CollectionPage {}
19impl<Inner, A, B> markers::Actor for Ext2<Inner, A, B> where Inner: markers::Actor {}
20impl<Inner, A, B> markers::Activity for Ext2<Inner, A, B> where Inner: markers::Activity {}
21impl<Inner, A, B> markers::IntransitiveActivity for Ext2<Inner, A, B> where
22 Inner: markers::IntransitiveActivity
23{
24}
25
26impl<Inner, A, B> AsBase for Ext2<Inner, A, B>
27where
28 Inner: AsBase,
29{
30 type Kind = Inner::Kind;
31
32 fn base_ref(&self) -> &Base<Self::Kind> {
33 self.inner.base_ref()
34 }
35
36 fn base_mut(&mut self) -> &mut Base<Self::Kind> {
37 self.inner.base_mut()
38 }
39}
40
41impl<Inner, A, B> AsObject for Ext2<Inner, A, B>
42where
43 Inner: AsObject,
44{
45 type Kind = Inner::Kind;
46
47 fn object_ref(&self) -> &Object<Self::Kind> {
48 self.inner.object_ref()
49 }
50
51 fn object_mut(&mut self) -> &mut Object<Self::Kind> {
52 self.inner.object_mut()
53 }
54}
55
56impl<Inner, A, B> AsApObject for Ext2<Inner, A, B>
57where
58 Inner: AsApObject,
59{
60 type Inner = Inner::Inner;
61
62 fn ap_object_ref(&self) -> &ApObject<Self::Inner> {
63 self.inner.ap_object_ref()
64 }
65
66 fn ap_object_mut(&mut self) -> &mut ApObject<Self::Inner> {
67 self.inner.ap_object_mut()
68 }
69}
70
71impl<Inner, A, B> AsCollection for Ext2<Inner, A, B>
72where
73 Inner: AsCollection,
74{
75 type Kind = Inner::Kind;
76
77 fn collection_ref(&self) -> &Collection<Self::Kind> {
78 self.inner.collection_ref()
79 }
80
81 fn collection_mut(&mut self) -> &mut Collection<Self::Kind> {
82 self.inner.collection_mut()
83 }
84}
85
86impl<Inner, A, B> AsCollectionPage for Ext2<Inner, A, B>
87where
88 Inner: AsCollectionPage,
89{
90 type Kind = Inner::Kind;
91
92 fn collection_page_ref(&self) -> &CollectionPage<Self::Kind> {
93 self.inner.collection_page_ref()
94 }
95
96 fn collection_page_mut(&mut self) -> &mut CollectionPage<Self::Kind> {
97 self.inner.collection_page_mut()
98 }
99}
100
101impl<Inner, A, B> AsApActor for Ext2<Inner, A, B>
102where
103 Inner: AsApActor,
104{
105 type Inner = Inner::Inner;
106
107 fn ap_actor_ref(&self) -> &ApActor<Self::Inner> {
108 self.inner.ap_actor_ref()
109 }
110
111 fn ap_actor_mut(&mut self) -> &mut ApActor<Self::Inner> {
112 self.inner.ap_actor_mut()
113 }
114}
115
116impl<Inner, A, B> AsActivity for Ext2<Inner, A, B>
117where
118 Inner: AsActivity,
119{
120 type Kind = Inner::Kind;
121
122 fn activity_ref(&self) -> &Activity<Self::Kind> {
123 self.inner.activity_ref()
124 }
125
126 fn activity_mut(&mut self) -> &mut Activity<Self::Kind> {
127 self.inner.activity_mut()
128 }
129}
130
131impl<Inner, A, B> AsActivityActor for Ext2<Inner, A, B>
132where
133 Inner: AsActivityActor,
134{
135 type Inner = Inner::Inner;
136
137 fn activity_actor_ref(&self) -> &ActivityActor<Self::Inner> {
138 self.inner.activity_actor_ref()
139 }
140
141 fn activity_actor_mut(&mut self) -> &mut ActivityActor<Self::Inner> {
142 self.inner.activity_actor_mut()
143 }
144}
145
146impl<Inner, A, B> AsActivityObject for Ext2<Inner, A, B>
147where
148 Inner: AsActivityObject,
149{
150 type Inner = Inner::Inner;
151
152 fn activity_object_ref(&self) -> &ActivityObject<Self::Inner> {
153 self.inner.activity_object_ref()
154 }
155
156 fn activity_object_mut(&mut self) -> &mut ActivityObject<Self::Inner> {
157 self.inner.activity_object_mut()
158 }
159}
160
161impl<Inner, A, B> AsTarget for Ext2<Inner, A, B>
162where
163 Inner: AsTarget,
164{
165 type Inner = Inner::Inner;
166
167 fn target_ref(&self) -> &Target<Self::Inner> {
168 self.inner.target_ref()
169 }
170
171 fn target_mut(&mut self) -> &mut Target<Self::Inner> {
172 self.inner.target_mut()
173 }
174}
175
176impl<Inner, A, B> AsOrigin for Ext2<Inner, A, B>
177where
178 Inner: AsOrigin,
179{
180 type Inner = Inner::Inner;
181
182 fn origin_ref(&self) -> &Origin<Self::Inner> {
183 self.inner.origin_ref()
184 }
185
186 fn origin_mut(&mut self) -> &mut Origin<Self::Inner> {
187 self.inner.origin_mut()
188 }
189}
190
191impl<Inner, A, B> AsOptTarget for Ext2<Inner, A, B>
192where
193 Inner: AsOptTarget,
194{
195 type Inner = Inner::Inner;
196
197 fn opt_target_ref(&self) -> &OptTarget<Self::Inner> {
198 self.inner.opt_target_ref()
199 }
200
201 fn opt_target_mut(&mut self) -> &mut OptTarget<Self::Inner> {
202 self.inner.opt_target_mut()
203 }
204}
205
206impl<Inner, A, B> AsOptOrigin for Ext2<Inner, A, B>
207where
208 Inner: AsOptOrigin,
209{
210 type Inner = Inner::Inner;
211
212 fn opt_origin_ref(&self) -> &OptOrigin<Self::Inner> {
213 self.inner.opt_origin_ref()
214 }
215
216 fn opt_origin_mut(&mut self) -> &mut OptOrigin<Self::Inner> {
217 self.inner.opt_origin_mut()
218 }
219}
220
221impl<Inner, A, B> AsQuestion for Ext2<Inner, A, B>
222where
223 Inner: AsQuestion,
224{
225 fn question_ref(&self) -> &Question {
226 self.inner.question_ref()
227 }
228
229 fn question_mut(&mut self) -> &mut Question {
230 self.inner.question_mut()
231 }
232}