summaryrefslogtreecommitdiff
path: root/indra/llmessage/llxfer_file.h
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2007-01-02 08:33:20 +0000
committerJames Cook <james@lindenlab.com>2007-01-02 08:33:20 +0000
commit420b91db29485df39fd6e724e782c449158811cb (patch)
treeb471a94563af914d3ed3edd3e856d21cb1b69945 /indra/llmessage/llxfer_file.h
Print done when done.
Diffstat (limited to 'indra/llmessage/llxfer_file.h')
-rw-r--r--indra/llmessage/llxfer_file.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/indra/llmessage/llxfer_file.h b/indra/llmessage/llxfer_file.h
new file mode 100644
index 0000000000..b3d1ccbfbe
--- /dev/null
+++ b/indra/llmessage/llxfer_file.h
@@ -0,0 +1,68 @@
+/**
+ * @file llxfer_file.h
+ * @brief definition of LLXfer_File class for a single xfer_file.
+ *
+ * Copyright (c) 2001-$CurrentYear$, Linden Research, Inc.
+ * $License$
+ */
+
+#ifndef LL_LLXFER_FILE_H
+#define LL_LLXFER_FILE_H
+
+#include <stdio.h>
+
+#include "llxfer.h"
+#include "lldir.h"
+
+class LLXfer_File : public LLXfer
+{
+ protected:
+ FILE *mFp;
+ char mLocalFilename[LL_MAX_PATH]; /* Flawfinder : ignore */
+ char mRemoteFilename[LL_MAX_PATH]; /* Flawfinder : ignore */
+ ELLPath mRemotePath;
+ char mTempFilename[LL_MAX_PATH]; /* Flawfinder : ignore */
+
+ BOOL mDeleteLocalOnCompletion;
+ BOOL mDeleteRemoteOnCompletion;
+
+ public:
+ LLXfer_File (S32 chunk_size);
+ LLXfer_File (const LLString& local_filename, BOOL delete_local_on_completion, S32 chunk_size);
+ virtual ~LLXfer_File();
+
+ virtual void init(const LLString& local_filename, BOOL delete_local_on_completion, S32 chunk_size);
+ virtual void free();
+
+ virtual S32 initializeRequest(U64 xfer_id,
+ const LLString& local_filename,
+ const LLString& remote_filename,
+ ELLPath remote_path,
+ const LLHost& remote_host,
+ BOOL delete_remote_on_completion,
+ void (*callback)(void**,S32),
+ void** user_data);
+ virtual S32 startDownload();
+
+ virtual S32 processEOF();
+
+ virtual S32 startSend (U64 xfer_id, const LLHost &remote_host);
+
+ virtual S32 suck(S32 start_position);
+ virtual S32 flush();
+
+ virtual BOOL matchesLocalFilename(const LLString& filename);
+ virtual BOOL matchesRemoteFilename(const LLString& filename, ELLPath remote_path);
+
+ virtual S32 getMaxBufferSize();
+
+ virtual U32 getXferTypeTag();
+
+ virtual const char *getName();
+};
+
+#endif
+
+
+
+