diff options
author | Steven Bennetts <steve@lindenlab.com> | 2007-01-17 23:02:00 +0000 |
---|---|---|
committer | Steven Bennetts <steve@lindenlab.com> | 2007-01-17 23:02:00 +0000 |
commit | 71d28bdbf0baab9302c8f458e3bdbcfc60d656d4 (patch) | |
tree | 19f051897838d5a75e5ce1e776bb52a330173171 /indra/llmessage/lltransfermanager.h | |
parent | fc664e93e62645fc6e9659664351e77f3c4b374f (diff) |
merge release@56803 release-candidate@56833
Diffstat (limited to 'indra/llmessage/lltransfermanager.h')
-rw-r--r-- | indra/llmessage/lltransfermanager.h | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/indra/llmessage/lltransfermanager.h b/indra/llmessage/lltransfermanager.h index 8c4c9f8ba7..d258bd5f92 100644 --- a/indra/llmessage/lltransfermanager.h +++ b/indra/llmessage/lltransfermanager.h @@ -288,7 +288,8 @@ protected: // The completionCallback is GUARANTEED to be called before the destructor. virtual void completionCallback(const LLTSCode status) = 0; - virtual BOOL unpackParams(LLDataPacker &dp) = 0; + virtual void packParams(LLDataPacker& dp) const = 0; + virtual BOOL unpackParams(LLDataPacker& dp) = 0; virtual S32 getNextPacketID() { return mLastPacketID + 1; } virtual void setLastPacketID(const S32 packet_id) { mLastPacketID = packet_id; } @@ -353,22 +354,32 @@ protected: class LLTransferTarget { public: - LLTransferTarget(LLTransferTargetType target_type, const LLUUID &transfer_id); + LLTransferTarget( + LLTransferTargetType target_type, + const LLUUID& transfer_id, + LLTransferSourceType source_type); virtual ~LLTransferTarget(); - // Accessors LLUUID getID() const { return mID; } LLTransferTargetType getType() const { return mType; } LLTransferTargetChannel *getChannel() const { return mChannelp; } + LLTransferSourceType getSourceType() const { return mSourceType; } + + // Static functionality + static LLTransferTarget* createTarget( + LLTransferTargetType target_type, + const LLUUID& request_id, + LLTransferSourceType source_type); + // friends friend class LLTransferManager; friend class LLTransferTargetChannel; - static LLTransferTarget *createTarget(const LLTransferTargetType type, - const LLUUID &request_id); protected: - virtual void applyParams(const LLTransferTargetParams ¶ms) = 0; + // Implementation + virtual bool unpackParams(LLDataPacker& dp) = 0; + virtual void applyParams(const LLTransferTargetParams ¶ms) = 0; virtual LLTSCode dataCallback(const S32 packet_id, U8 *in_datap, const S32 in_size) = 0; // The completionCallback is GUARANTEED to be called before the destructor, so all handling @@ -383,13 +394,18 @@ protected: void setGotInfo(const BOOL got_info) { mGotInfo = got_info; } BOOL gotInfo() const { return mGotInfo; } - void addDelayedPacket(const S32 packet_id, const LLTSCode status, U8 *datap, const S32 size); + bool addDelayedPacket( + const S32 packet_id, + const LLTSCode status, + U8* datap, + const S32 size); protected: typedef std::map<S32, LLTransferPacket *> transfer_packet_map; typedef std::map<S32, LLTransferPacket *>::iterator tpm_iter; LLTransferTargetType mType; + LLTransferSourceType mSourceType; LLUUID mID; LLTransferTargetChannel *mChannelp; BOOL mGotInfo; |