Main Page | Namespace List | Class Hierarchy | Data Structures | File List | Namespace Members | Data Fields | Globals

context_listener.hpp

Go to the documentation of this file.
00001 /*
00002  * ====================================================================
00003  * Copyright (c) 2002, 2003 The RapidSvn Group.  All rights reserved.
00004  *
00005  * This software is licensed as described in the file LICENSE.txt,
00006  * which you should have received as part of this distribution.
00007  *
00008  * This software consists of voluntary contributions made by many
00009  * individuals.  For exact contribution history, see the revision
00010  * history and logs, available at http://rapidsvn.tigris.org/.
00011  * ====================================================================
00012  */
00013 
00014 #ifndef _SVNCPP_CONTEXT_LISTENER_HPP_
00015 #define _SVNCPP_CONTEXT_LISTENER_HPP_ 
00016 
00017 // stl
00018 #include <string>
00019 
00020 // Subversion api
00021 #include "svn_client.h"
00022 
00023 // svncpp
00024 #include "pool.hpp"
00025 
00026 // forward declarations
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  * local variables:
00152  * eval: (load-file "../../rapidsvn-dev.el")
00153  * end:
00154  */

Generated on Sat Dec 6 22:47:47 2003 for SvnCpp by doxygen 1.3.4