All Classes Functions Variables Typedefs Friends Pages
ITicket.h
1 //------------------------------------------------------------------------------
2 //
3 // Copyright (c) 2012 Glympse Inc. All rights reserved.
4 //
5 //------------------------------------------------------------------------------
6 
7 #ifndef ITICKET_H__GLYMPSE__
8 #define ITICKET_H__GLYMPSE__
9 
10 namespace Glympse
11 {
12 
37 /*O*public**/ struct ITicket : public IEventSink, public IComparable
38 {
44  public: virtual GString getId() = 0;
45 
51  public: virtual bool isWatching() = 0;
52 
59  public: virtual bool isMine() = 0;
60 
65  public: virtual bool isSibling() = 0;
66 
74  public: virtual GPrimitive getVisibility() = 0;
75 
82  public: virtual bool isVisible() = 0;
83 
91  public: virtual GString getCode() = 0;
92 
99  public: virtual GString getReference() = 0;
100 
106  public: virtual int32 getState() = 0;
107 
113  public: virtual GAppProfile getOwner() = 0;
114 
120  public: virtual GUser getUser() = 0;
121 
127  public: virtual bool isActive() = 0;
128 
142  public: virtual bool isCompleted() = 0;
143 
154  public: virtual GArray<GInvite>::ptr getInvites() = 0;
155 
164  public: virtual int64 getDuration() = 0;
165 
173  public: virtual int64 getStartTime() = 0;
174 
182  public: virtual int64 getExpireTime() = 0;
183 
190  public: virtual GString getMessage() = 0;
191 
198  public: virtual GPlace getDestination() = 0;
199 
210  public: virtual GTrack getTrack() = 0;
211 
220  public: virtual void updateEta(int64 eta) = 0;
221 
241  public: virtual int64 getEta() = 0;
242 
251  public: virtual void updateRoute(const GTrack& route) = 0;
252 
258  public: virtual GTrack getRoute() = 0;
259 
267  public: virtual GTravelMode getTravelMode() = 0;
268 
272  public: virtual GInvite findInviteByCode(const GString& code) = 0;
273 
277  public: virtual GInvite findInviteByAddress(const GString& address) = 0;
278 
282  public: virtual GInvite findInviteByType(int32 type) = 0;
283 
299  public: virtual bool canAddInvite(const GInvite& invite) = 0;
300 
313  public: virtual bool addInvite(const GInvite& invite) = 0;
314 
321  public: virtual bool deleteInvite(const GInvite& invite) = 0;
322 
329  public: virtual bool isSomeoneWatching() = 0;
330 
341  public: virtual void setRequestEndTime(int64 endTime) = 0;
342 
348  public: virtual GTicket getRequestTicket() = 0;
349 
355  public: virtual void setRequestNoReply(bool requestNoReply) = 0;
356 
362  public: virtual bool getRequestNoReply() = 0;
363 
369  public: virtual void setRequestScenario(const GString& requestScenario) = 0;
370 
376  public: virtual GString getRequestScenario() = 0;
377 
388  public: virtual bool setVisibility(const GString& visibility, const GString& context) = 0;
389 
412  public: virtual bool modify(int64 remaining, const GString& message, const GPlace& destination) = 0;
413 
419  public: virtual bool extend(int64 interval) = 0;
420 
426  public: virtual void setName(const GString& name) = 0;
427 
433  public: virtual GString getName() = 0;
434 
442  public: virtual bool clear(bool message, bool destination) = 0;
443 
453  public: virtual bool expire() = 0;
454 
468  public: virtual bool appendData(int64 partnerId, const GString& name, const GPrimitive& value) = 0;
469 
477  public: virtual GPrimitive getProperty(int64 partnerId, const GString& name) = 0;
478 
486  public: virtual GDataRow getPropertyData(int64 partnerId, const GString& name) = 0;
487 
493  public: virtual GEnumeration<GLong>::ptr getPartnerIds() = 0;
494 
501  public: virtual GMap<GString, GDataRow>::ptr getPartnerData(int64 partnerId) = 0;
502 
512  public: virtual bool own() = 0;
513 
521  public: virtual void setOwnership(const GString& providerId, const GPrimitive& providerData) = 0;
522 
531  public: virtual bool deleteTicket() = 0;
532 
552  public: virtual GTicket clone() = 0;
553 };
554 
555 }
556 
557 #endif // !ITICKET_H__GLYMPSE__