From 7763f07327f3abce839a690df46ced3bfd1d3d09 Mon Sep 17 00:00:00 2001 From: Erwin Nindl Date: Sun, 7 Oct 2007 22:07:03 +0000 Subject: added doxygen generatet documentation --- doc/html/log_8h-source.html | 150 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 doc/html/log_8h-source.html (limited to 'doc/html/log_8h-source.html') diff --git a/doc/html/log_8h-source.html b/doc/html/log_8h-source.html new file mode 100644 index 0000000..d5599f9 --- /dev/null +++ b/doc/html/log_8h-source.html @@ -0,0 +1,150 @@ + + +anytun: log.h Source File + + + + +
+
+
+
+

log.h

Go to the documentation of this file.
00001 /*
+00002  *  anytun
+00003  *
+00004  *  The secure anycast tunneling protocol (satp) defines a protocol used
+00005  *  for communication between any combination of unicast and anycast
+00006  *  tunnel endpoints.  It has less protocol overhead than IPSec in Tunnel
+00007  *  mode and allows tunneling of every ETHER TYPE protocol (e.g.
+00008  *  ethernet, ip, arp ...). satp directly includes cryptography and
+00009  *  message authentication based on the methodes used by SRTP.  It is
+00010  *  intended to deliver a generic, scaleable and secure solution for
+00011  *  tunneling and relaying of packets of any protocol.
+00012  *
+00013  *
+00014  *  Copyright (C) 2007 anytun.org <satp@wirdorange.org>
+00015  *
+00016  *  This program is free software; you can redistribute it and/or modify
+00017  *  it under the terms of the GNU General Public License version 2
+00018  *  as published by the Free Software Foundation.
+00019  *
+00020  *  This program is distributed in the hope that it will be useful,
+00021  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+00022  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+00023  *  GNU General Public License for more details.
+00024  *
+00025  *  You should have received a copy of the GNU General Public License
+00026  *  along with this program (see the file COPYING included with this
+00027  *  distribution); if not, write to the Free Software Foundation, Inc.,
+00028  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+00029  */
+00030 
+00031 #ifndef _LOG_H_
+00032 #define _LOG_H_
+00033 
+00034 #include <string>
+00035 #include <sstream>
+00036 #include <syslog.h>
+00037 
+00038 #include "threadUtils.hpp"
+00039 
+00040 class Log;
+00041 
+00042 class LogStringBuilder 
+00043 {
+00044 public:
+00045   LogStringBuilder(LogStringBuilder const& src);
+00046   LogStringBuilder(Log& l, int p);
+00047   ~LogStringBuilder();
+00048 
+00049   template<class T>
+00050   std::ostream& operator<<(T const& value) { return stream << value; }
+00051 
+00052 private:
+00053   Log& log;
+00054   int prio;
+00055   std::stringstream stream;
+00056 };
+00057 
+00058 class Log : public std::ostringstream
+00059 {
+00060 public:
+00061   static const int FAC_USER = LOG_USER;
+00062   static const int FAC_MAIL = LOG_MAIL;
+00063   static const int FAC_DAEMON = LOG_DAEMON;
+00064   static const int FAC_AUTH = LOG_AUTH;
+00065   static const int FAC_SYSLOG = LOG_SYSLOG;
+00066   static const int FAC_LPR = LOG_LPR;
+00067   static const int FAC_NEWS = LOG_NEWS;
+00068   static const int FAC_UUCP = LOG_UUCP;
+00069   static const int FAC_CRON = LOG_CRON;
+00070   static const int FAC_AUTHPRIV = LOG_AUTHPRIV;
+00071   static const int FAC_FTP = LOG_FTP;
+00072   static const int FAC_LOCAL0 = LOG_LOCAL0;
+00073   static const int FAC_LOCAL1 = LOG_LOCAL1;
+00074   static const int FAC_LOCAL2 = LOG_LOCAL2;
+00075   static const int FAC_LOCAL3 = LOG_LOCAL3;
+00076   static const int FAC_LOCAL4 = LOG_LOCAL4;
+00077   static const int FAC_LOCAL5 = LOG_LOCAL5;
+00078   static const int FAC_LOCAL6 = LOG_LOCAL6;
+00079   static const int FAC_LOCAL7 = LOG_LOCAL7;
+00080 
+00081   static const int PRIO_EMERG = LOG_EMERG;
+00082   static const int PRIO_ALERT = LOG_ALERT;
+00083   static const int PRIO_CRIT = LOG_CRIT;
+00084   static const int PRIO_ERR = LOG_ERR;
+00085   static const int PRIO_WARNING = LOG_WARNING;
+00086   static const int PRIO_NOTICE = LOG_NOTICE;
+00087   static const int PRIO_INFO = LOG_INFO;
+00088   static const int PRIO_DEBUG = LOG_DEBUG;
+00089 
+00090   static Log& instance();
+00091 
+00092   Log& setLogName(std::string newLogName); 
+00093   std::string getLogName() const { return logName; }
+00094   Log& setFacility(int newFacility);
+00095   int getFacility() const { return facility; }
+00096 
+00097   LogStringBuilder msg(int prio=PRIO_INFO) { return LogStringBuilder(*this, prio); }
+00098 
+00099 private:
+00100   Log();
+00101   ~Log();
+00102   Log(const Log &l);
+00103   void operator=(const Log &l);
+00104 
+00105   static Log* inst;
+00106   static Mutex instMutex;
+00107   class instanceCleaner {
+00108     public: ~instanceCleaner() {
+00109       if(Log::inst != 0)
+00110         delete Log::inst;
+00111     }
+00112   };
+00113   friend class instanceCleaner;
+00114 
+00115   void open();
+00116 
+00117   Mutex mutex;
+00118   friend class LogStringBuilder;
+00119 
+00120   std::string logName;
+00121   int facility;
+00122 };
+00123 
+00124 extern Log& cLog;
+00125 
+00126 #endif
+

Generated on Sun Oct 7 23:43:49 2007 for anytun by  + +doxygen 1.5.1
+ + -- cgit v1.2.3