00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _SVNCPP_CONTEXT_LISTENER_HPP_
00015 #define _SVNCPP_CONTEXT_LISTENER_HPP_
00016
00017
00018 #include <string>
00019
00020
00021 #include "svn_client.h"
00022
00023
00024 #include "pool.hpp"
00025
00026
00027
00028 namespace svn
00029 {
00036 class ContextListener
00037 {
00038 public:
00052 virtual bool
00053 contextGetLogin (const std::string & realm,
00054 std::string & username,
00055 std::string & password) = 0;
00056
00069 virtual void
00070 contextNotify (const char *path,
00071 svn_wc_notify_action_t action,
00072 svn_node_kind_t kind,
00073 const char *mime_type,
00074 svn_wc_notify_state_t content_state,
00075 svn_wc_notify_state_t prop_state,
00076 svn_revnum_t revision) = 0;
00077
00089 virtual bool
00090 contextGetLogMessage (std::string & msg) = 0;
00091
00096 struct SslServerTrustData
00097 {
00098 public:
00100 bool trustPermanently;
00101 int acceptedFailures;
00102
00104 const int failures;
00105
00107 std::string hostname;
00108 std::string fingerprint;
00109 std::string validFrom;
00110 std::string validUntil;
00111 std::string issuerDName;
00112
00113 SslServerTrustData (const int failures_ = 0)
00114 : trustPermanently (false), acceptedFailures (0),
00115 failures (failures_), hostname (""), fingerprint (""),
00116 validFrom (""), validUntil (""), issuerDName("")
00117 {
00118 }
00119 };
00120
00128 virtual bool
00129 contextSslServerTrustPrompt (SslServerTrustData & data) = 0;
00130
00135 virtual bool
00136 contextSslClientCertPrompt (std::string & certFile) = 0;
00137
00144 virtual bool
00145 contextSslClientCertPwPrompt (std::string & password) = 0;
00146 };
00147 }
00148
00149 #endif
00150
00151
00152
00153
00154