summaryrefslogtreecommitdiff
path: root/cpp/include/IcePatch2/ClientUtil.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/IcePatch2/ClientUtil.h')
-rw-r--r--cpp/include/IcePatch2/ClientUtil.h143
1 files changed, 0 insertions, 143 deletions
diff --git a/cpp/include/IcePatch2/ClientUtil.h b/cpp/include/IcePatch2/ClientUtil.h
deleted file mode 100644
index c733e867d08..00000000000
--- a/cpp/include/IcePatch2/ClientUtil.h
+++ /dev/null
@@ -1,143 +0,0 @@
-//
-// Copyright (c) ZeroC, Inc. All rights reserved.
-//
-
-#ifndef ICE_PATCH2_CLIENT_UTIL_H
-#define ICE_PATCH2_CLIENT_UTIL_H
-
-#include <Ice/Ice.h>
-#include <IceUtil/Thread.h>
-#include <IcePatch2/FileServer.h>
-
-#include <stdio.h>
-
-namespace IcePatch2
-{
-
-//
-// The IcePatch2::PatcherFeedback class is implemented by IcePatch2 clients to
-// allow the user to interact with the patching and report progress
-// on the patching.
-//
-class ICEPATCH2_API PatcherFeedback : public IceUtil::Shared
-{
-public:
-
- virtual ~PatcherFeedback();
-
- //
- // The summary file can't be loaded for the given reason. This
- // should return true to accept doing a thorough patch, false
- // otherwise.
- //
- virtual bool noFileSummary(const std::string& reason) = 0;
-
- //
- // If no summary file is found and/or a thorough patch was
- // specified, the following checksum methods are called to report
- // the progression of the checksum computation for the local data
- // directory. These methods should return false to interrupt the
- // checksum, false otherwise.
- //
- virtual bool checksumStart() = 0;
- virtual bool checksumProgress(const std::string&) = 0;
- virtual bool checksumEnd() = 0;
-
- //
- // These methods are called to report on the progression of the
- // computation of the list of files to patch. This involves
- // comparing the local checksums with the server checksums. These
- // methods should return false to interrupt the computation, false
- // otherwise.
- //
- virtual bool fileListStart() = 0;
- virtual bool fileListProgress(Ice::Int) = 0;
- virtual bool fileListEnd() = 0;
-
- //
- // These methods are called to report on the progression of the
- // file patching. Files to be updated are downloaded from the
- // server, uncompressed and written to the local data directory.
- // These methods should return false to interrupt the patching,
- // false otherwise.
- //
- virtual bool patchStart(const std::string&, Ice::Long, Ice::Long, Ice::Long) = 0;
- virtual bool patchProgress(Ice::Long, Ice::Long, Ice::Long, Ice::Long) = 0;
- virtual bool patchEnd() = 0;
-};
-typedef IceUtil::Handle<PatcherFeedback> PatcherFeedbackPtr;
-
-//
-// IcePatch2 clients instantiate the IcePatch2::Patcher class to patch
-// a given local data directory.
-//
-class ICEPATCH2_API Patcher : public IceUtil::Shared
-{
-public:
-
- virtual ~Patcher();
-
- //
- // Prepare the patching. This involves creating the local checksum
- // files if no summary file exists or if a thorough patch was
- // specified. This method also computes the list of files to be
- // patched. This should be called once before any call to patch().
- //
- // Returns true if the patch preparation was successful, false if
- // preparation failed (for example, because a thorough patch is
- // necessary, but the user chose not to patch thorough), or raises
- // std::string as an exception if there was an error.
- //
- virtual bool prepare() = 0;
-
- //
- // Patch the files from the given path.
- //
- // Returns true if patching was successful, false if patching was
- // aborted by the user, or raises std::string as an exception if
- // there was an error.
- //
- virtual bool patch(const std::string&) = 0;
-
- //
- // Finish the patching. This needs to be called once when the
- // patching is finished to write the local checksum files to the
- // disk.
- //
- virtual void finish() = 0;
-};
-typedef IceUtil::Handle<Patcher> PatcherPtr;
-
-//
-// IcePatch2 clients instantiate the IcePatch2::Patcher class
-// using the patcher factory.
-//
-class ICEPATCH2_API PatcherFactory : public IceUtil::noncopyable
-{
-public:
-
- //
- // Create a patcher using configuration properties. The following
- // properties are used to configure the patcher:
- //
- // - IcePatch2.InstanceName
- // - IcePatch2.Endpoints
- // - IcePatch2.Directory
- // - IcePatch2.Thorough
- // - IcePatch2.ChunkSize
- // - IcePatch2.Remove
- //
- // See the Ice manual for more information on these properties.
- //
- static PatcherPtr create(const Ice::CommunicatorPtr&, const PatcherFeedbackPtr&);
-
- //
- // Create a patcher with the given parameters. These parameters
- // are equivalent to the configuration properties described above.
- //
- static PatcherPtr create(const FileServerPrx&, const PatcherFeedbackPtr&, const std::string&, bool, Ice::Int, Ice::Int);
-};
-
-}
-
-#endif