From: Mikko Rasa Date: Wed, 24 Dec 2008 07:01:36 +0000 (+0000) Subject: Make sure all files have the correct header X-Git-Tag: 1.1~6 X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=cfc8e0b7b15ea505bd6a6a9599cbc5ce1e316963;p=libs%2Fcore.git Make sure all files have the correct header Update class member order to new style --- diff --git a/source/core/application.cpp b/source/core/application.cpp index daeb130..f64f350 100644 --- a/source/core/application.cpp +++ b/source/core/application.cpp @@ -19,6 +19,11 @@ using namespace std; namespace Msp { +Application::Application(): + exit_code(0), + loop_mode_(TICK_SLEEP) +{ } + /** Constructs an instance of the registered application class and runs it. If the application throws a UsageError, the static usage() function is called. @@ -76,8 +81,8 @@ int Application::run(int argc, char **argv, void *data) if(exc && !exc->get_backtrace().get_frames().empty()) { cerr<<" backtrace:\n"; - const Debug::Backtrace::FrameSeq &frames=exc->get_backtrace().get_frames(); - for(Debug::Backtrace::FrameSeq::const_iterator i=frames.begin(); i!=frames.end(); ++i) + const list &frames=exc->get_backtrace().get_frames(); + for(list::const_iterator i=frames.begin(); i!=frames.end(); ++i) cerr<<" "<<*i<<'\n'; } #endif @@ -101,11 +106,6 @@ void Application::usage(const char *reason, const char *, bool) cerr<<"The programmer was lazy and didn't write a usage() function for this application.\n"; } -Application::Application(): - exit_code(0), - loop_mode_(TICK_SLEEP) -{ } - /** Default main loop. Behavior depends on loop_mode_. A custom main loop should monitor the done member variable and return exit_code. @@ -193,6 +193,7 @@ void Application::sighandler_(int s) app_->sighandler(s); } + Application::RegBase::RegBase() { if(reg_app_) diff --git a/source/core/application.h b/source/core/application.h index d3b992e..ca51bbc 100644 --- a/source/core/application.h +++ b/source/core/application.h @@ -17,17 +17,11 @@ member of type RegApp. */ class Application { -public: - virtual ~Application() { } - - static int run(int, char **, void * =0); - static void usage(const char *, const char *, bool); - static void *get_data() { return data_; } protected: enum LoopMode { NONE, /// No main loop - main() will just return - SLEEP, /// Only sleep in the main loop - useful for servers + SLEEP, /// Only sleep in the main loop - useful for threaded servers TICK_SLEEP, /// Call tick every iteration, with a short sleep in between TICK_YIELD, /// Call tick every iteration, with sched_yield in between TICK_BUSY /// Call tick every iteration @@ -52,9 +46,26 @@ protected: }; bool done; - int exit_code; + int exit_code; +private: + LoopMode loop_mode_; + Semaphore sleep_sem_; + + static RegBase *reg_app_; + static Application *app_; + static void *data_; + +protected: Application(); +public: + virtual ~Application() { } + + static int run(int, char **, void * =0); + static void usage(const char *, const char *, bool); + static void *get_data() { return data_; } + +protected: virtual int main(); void catch_signal(int); void set_loop_mode(LoopMode); @@ -63,18 +74,10 @@ protected: virtual void tick() { } virtual void sighandler(int) { } private: - LoopMode loop_mode_; - Semaphore sleep_sem_; + static void sighandler_(int); Application(const Application &); Application &operator=(const Application &); - - static RegBase *reg_app_; - static Application *app_; - static void *data_; - - static void sighandler_(int); - static void sigalrm_(int) { } }; } // namespace Msp diff --git a/source/core/except.h b/source/core/except.h index fc6fcc6..bf7c526 100644 --- a/source/core/except.h +++ b/source/core/except.h @@ -19,6 +19,11 @@ Base class for all Msp exceptions. */ class Exception: public std::exception { +private: + std::string wot; + std::string wer; + Debug::Backtrace bt; + public: Exception(const std::string &); ~Exception() throw() { } @@ -27,11 +32,6 @@ public: Exception &at(const std::string &) throw(); const char *where() const throw() { return wer.c_str(); } const Debug::Backtrace &get_backtrace() const throw() { return bt; } -private: - std::string wot; - std::string wer; - Debug::Backtrace bt; - }; /** @@ -48,13 +48,15 @@ Thrown when a lookup from a map fails. */ class KeyError: public Exception { +private: + std::string key; + public: KeyError(const std::string &w_): Exception(w_) { } KeyError(const std::string &w_, const std::string &k); - const std::string &get_key() const { return key; } ~KeyError() throw() { } -private: - std::string key; + + const std::string &get_key() const { return key; } }; /** @@ -71,11 +73,12 @@ Thrown when the application is invoked with wrong parameters. */ class UsageError: public Exception { +private: + bool brief; + public: UsageError(const std::string &r, bool b=true): Exception(r), brief(b) { } bool get_brief() const { return brief; } -private: - bool brief; }; /** @@ -83,12 +86,14 @@ Thrown when a system call fails. */ class SystemError: public Exception { +private: + int err; + public: SystemError(const std::string &, int); int get_error_code() const { return err; } -private: - int err; +private: static std::string build_what(const std::string &, int); }; diff --git a/source/core/getopt.cpp b/source/core/getopt.cpp index e4f00ff..b8e2413 100644 --- a/source/core/getopt.cpp +++ b/source/core/getopt.cpp @@ -10,6 +10,12 @@ using namespace std; namespace Msp { +GetOpt::~GetOpt() +{ + for(list::iterator i=opts.begin(); i!=opts.end(); ++i) + delete *i; +} + /** Generates a single line that gives an overview about the known options. @@ -114,12 +120,6 @@ void GetOpt::operator()(unsigned argc, const char *const *argv) args.push_back(argv[i]); } -GetOpt::~GetOpt() -{ - for(list::iterator i=opts.begin(); i!=opts.end(); ++i) - delete *i; -} - GetOpt::OptBase &GetOpt::get_option(char s) { for(list::iterator i=opts.begin(); i!=opts.end(); ++i) diff --git a/source/core/getopt.h b/source/core/getopt.h index 77cf4f2..7e5e25f 100644 --- a/source/core/getopt.h +++ b/source/core/getopt.h @@ -46,25 +46,6 @@ public: OptBase(char s, const std::string &l, ArgType a): shrt(s), lng(l), arg_type(a), seen_count(0) { } }; - const std::vector &get_args() const { return args; } - - template - OptBase &add_option(char s, const std::string &l, T &d, ArgType a=NO_ARG) - { opts.push_back(new Option(s, l, d, a)); return *opts.back(); } - - template - OptBase &add_option(char s, const std::string &l, std::list &d, ArgType a=REQUIRED_ARG) - { opts.push_back(new ListOption >(s, l, d, a)); return *opts.back(); } - - template - OptBase &add_option(const std::string &l, T &d, ArgType a) - { return add_option(0, l, d, a); } - - std::string generate_usage(const std::string &) const; - std::string generate_help() const; - void operator()(unsigned, const char *const *); - - ~GetOpt(); private: template class Option: public OptBase @@ -127,9 +108,31 @@ private: T &data; }; - std::list opts; + std::list opts; std::vector args; +public: + ~GetOpt(); + + const std::vector &get_args() const { return args; } + + template + OptBase &add_option(char s, const std::string &l, T &d, ArgType a=NO_ARG) + { opts.push_back(new Option(s, l, d, a)); return *opts.back(); } + + template + OptBase &add_option(char s, const std::string &l, std::list &d, ArgType a=REQUIRED_ARG) + { opts.push_back(new ListOption >(s, l, d, a)); return *opts.back(); } + + template + OptBase &add_option(const std::string &l, T &d, ArgType a) + { return add_option(0, l, d, a); } + + std::string generate_usage(const std::string &) const; + std::string generate_help() const; + void operator()(unsigned, const char *const *); +private: + OptBase &get_option(char); OptBase &get_option(const std::string &); unsigned process_long(const char *const *); diff --git a/source/core/main.cpp b/source/core/main.cpp index 5cf18c3..4a90b74 100644 --- a/source/core/main.cpp +++ b/source/core/main.cpp @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifdef WIN32 #include #endif diff --git a/source/core/mutex.h b/source/core/mutex.h index 8088a28..50a64e5 100644 --- a/source/core/mutex.h +++ b/source/core/mutex.h @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_CORE_MUTEX_H_ #define MSP_CORE_MUTEX_H_ @@ -14,6 +15,11 @@ namespace Msp { class Mutex { + friend class Semaphore; + +private: + MutexHandle mutex; + public: #ifndef WIN32 Mutex() { pthread_mutex_init(&mutex, 0); } @@ -28,10 +34,6 @@ public: int unlock() { return !ReleaseMutex(mutex); } ~Mutex() { CloseHandle(mutex); } #endif -private: - MutexHandle mutex; - - friend class Semaphore; }; /** @@ -39,14 +41,15 @@ Locks the mutex for te lifetime of the object. */ class MutexLock { +private: + Mutex &mutex; + public: MutexLock(Mutex &m, bool l=true): mutex(m) { if(l) mutex.lock(); } ~MutexLock() { mutex.unlock(); } int lock() { return mutex.lock(); } private: - Mutex &mutex; - MutexLock(const MutexLock &); MutexLock &operator=(const MutexLock &); }; diff --git a/source/core/refptr.h b/source/core/refptr.h index a44c13c..dd07256 100644 --- a/source/core/refptr.h +++ b/source/core/refptr.h @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_CORE_REFPTR_H_ #define MSP_CORE_REFPTR_H_ diff --git a/source/core/semaphore.cpp b/source/core/semaphore.cpp index bba3964..bd1180b 100644 --- a/source/core/semaphore.cpp +++ b/source/core/semaphore.cpp @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef WIN32 #include #endif @@ -29,6 +30,27 @@ Semaphore::Semaphore(Mutex &m): init(); } +void Semaphore::init() +{ +#ifdef WIN32 + count=0; + sem=CreateSemaphore(0, 0, 32, 0); +#else + pthread_cond_init(&sem, 0); +#endif +} + +Semaphore::~Semaphore() +{ + if(own_mutex) + delete mutex; +#ifdef WIN32 + CloseHandle(sem); +#else + pthread_cond_destroy(&sem); +#endif +} + #ifdef WIN32 int Semaphore::signal() { @@ -97,25 +119,4 @@ int Semaphore::wait(const Time::TimeDelta &d) #endif } -Semaphore::~Semaphore() -{ - if(own_mutex) - delete mutex; -#ifdef WIN32 - CloseHandle(sem); -#else - pthread_cond_destroy(&sem); -#endif -} - -void Semaphore::init() -{ -#ifdef WIN32 - count=0; - sem=CreateSemaphore(0, 0, 32, 0); -#else - pthread_cond_init(&sem, 0); -#endif -} - } // namespace Msp diff --git a/source/core/semaphore.h b/source/core/semaphore.h index c55553a..e6c09c5 100644 --- a/source/core/semaphore.h +++ b/source/core/semaphore.h @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_CORE_SEMAPHORE_H_ #define MSP_CORE_SEMAPHORE_H_ @@ -15,15 +16,6 @@ namespace Msp { class Semaphore { -public: - Semaphore(); - Semaphore(Mutex &); - int signal(); - int broadcast(); - int wait(); - int wait(const Time::TimeDelta &); - Mutex &get_mutex() { return *mutex; } - ~Semaphore(); private: Mutex *mutex; bool own_mutex; @@ -32,7 +24,19 @@ private: unsigned count; #endif +public: + Semaphore(); + Semaphore(Mutex &); +private: void init(); +public: + ~Semaphore(); + + int signal(); + int broadcast(); + int wait(); + int wait(const Time::TimeDelta &); + Mutex &get_mutex() { return *mutex; } }; #ifndef WIN32 diff --git a/source/core/thread.cpp b/source/core/thread.cpp index 8e1134b..a0d2187 100644 --- a/source/core/thread.cpp +++ b/source/core/thread.cpp @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef WIN32 #include #endif diff --git a/source/core/thread.h b/source/core/thread.h index ef095c6..8d323b3 100644 --- a/source/core/thread.h +++ b/source/core/thread.h @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_CORE_THREAD_H_ #define MSP_CORE_THREAD_H_ @@ -20,23 +21,24 @@ is started. */ class Thread { +private: + ThreadHandle thread_; + bool launched_; + +protected: + Thread(): launched_(false) { } public: + virtual ~Thread(); + void join(); void cancel(); void kill(); - virtual ~Thread(); protected: - Thread(): launched_(false) { } void launch(); virtual void main()=0; void check_cancel(); -private: - ThreadHandle thread_; - bool launched_; - - Thread(const Thread &); - Thread &operator=(const Thread &); +private: static #ifdef WIN32 DWORD WINAPI @@ -44,6 +46,9 @@ private: void * #endif main_(void *t) { (reinterpret_cast(t))->main(); return 0; } + + Thread(const Thread &); + Thread &operator=(const Thread &); }; } // namespace Msp diff --git a/source/core/types.h b/source/core/types.h index 0dace5a..1bd865d 100644 --- a/source/core/types.h +++ b/source/core/types.h @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_CORE_TYPES_H_ #define MSP_CORE_TYPES_H_ diff --git a/source/core/variant.h b/source/core/variant.h index 6632831..f78851f 100644 --- a/source/core/variant.h +++ b/source/core/variant.h @@ -1,7 +1,7 @@ /* $Id$ This file is part of libmspcore -Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions +Copyright © 2008 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ diff --git a/source/debug/backtrace.cpp b/source/debug/backtrace.cpp index fe7dbff..25a5e21 100644 --- a/source/debug/backtrace.cpp +++ b/source/debug/backtrace.cpp @@ -50,8 +50,8 @@ Backtrace Backtrace::create() ostream &operator<<(ostream &out, const Backtrace &bt) { - const Backtrace::FrameSeq &frames=bt.get_frames(); - for(Backtrace::FrameSeq::const_iterator i=frames.begin(); i!=frames.end(); ++i) + const list &frames=bt.get_frames(); + for(list::const_iterator i=frames.begin(); i!=frames.end(); ++i) out<<*i<<'\n'; return out; diff --git a/source/debug/backtrace.h b/source/debug/backtrace.h index 6ba3ad1..66e36f3 100644 --- a/source/debug/backtrace.h +++ b/source/debug/backtrace.h @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2007 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_DEBUG_BACKTRACE_H_ #define MSP_DEBUG_BACKTRACE_H_ @@ -22,16 +23,15 @@ public: void *address; std::string file; std::string symbol; - - //StackFrame(void *a, const std::string &s): address(a), symbol(s) { } }; - typedef std::list FrameSeq; - const FrameSeq &get_frames() const { return frames; } +private: + std::list frames; + +public: + const std::list &get_frames() const { return frames; } static Backtrace create(); -private: - FrameSeq frames; }; std::ostream &operator<<(std::ostream &, const Backtrace &); diff --git a/source/debug/demangle.h b/source/debug/demangle.h index cf2dca2..f7c8f3b 100644 --- a/source/debug/demangle.h +++ b/source/debug/demangle.h @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2007 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_DEBUG_DEMANGLE_H_ #define MSP_DEBUG_DEMANGLE_H_ diff --git a/source/debug/profilingscope.cpp b/source/debug/profilingscope.cpp index edf1aa3..ffb093a 100644 --- a/source/debug/profilingscope.cpp +++ b/source/debug/profilingscope.cpp @@ -1,3 +1,10 @@ +/* $Id$ + +This file is part of libmspcore +Copyright © 2007 Mikko Rasa, Mikkosoft Productions +Distributed under the LGPL +*/ + #include "../time/utils.h" #include "profilingscope.h" diff --git a/source/time/datetime.cpp b/source/time/datetime.cpp index 283a7c6..2c6fcea 100644 --- a/source/time/datetime.cpp +++ b/source/time/datetime.cpp @@ -1,4 +1,10 @@ -/* $Id$ */ +/* $Id$ + +This file is part of libmspcore +Copyright © 2006 Mikko Rasa, Mikkosoft Productions +Distributed under the LGPL +*/ + #include #include #include diff --git a/source/time/datetime.h b/source/time/datetime.h index 5f9e8c6..7c2a349 100644 --- a/source/time/datetime.h +++ b/source/time/datetime.h @@ -1,4 +1,10 @@ -/* $Id$ */ +/* $Id$ + +This file is part of libmspcore +Copyright © 2006 Mikko Rasa, Mikkosoft Productions +Distributed under the LGPL +*/ + #ifndef MSP_TIME_DATETIME_H_ #define MSP_TIME_DATETIME_H_ @@ -23,13 +29,27 @@ TimeStamp is a better choice. */ class DateTime { +private: + int year; + unsigned char month; + unsigned char mday; + unsigned char hour; + unsigned char minute; + unsigned char second; + unsigned usec; + TimeZone zone; + public: DateTime(const TimeStamp &); DateTime(const TimeStamp &, const TimeZone &); DateTime(int, unsigned char, unsigned char); DateTime(int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char); DateTime(int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned); - +private: + void init(const TimeStamp &); + void init(int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned); + +public: int get_year() const { return year; } unsigned char get_month() const { return month; } unsigned char get_mday() const { return mday; } @@ -58,18 +78,8 @@ public: TimeStamp get_timestamp() const; std::string format(const std::string &) const; std::string format_rfc3339() const; -private: - int year; - unsigned char month; - unsigned char mday; - unsigned char hour; - unsigned char minute; - unsigned char second; - unsigned usec; - TimeZone zone; - void init(const TimeStamp &); - void init(int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned); +private: void add_raw(RawTime); void normalize(); void validate() const; diff --git a/source/time/timedelta.cpp b/source/time/timedelta.cpp index 81d3389..d94d8c5 100644 --- a/source/time/timedelta.cpp +++ b/source/time/timedelta.cpp @@ -1,8 +1,10 @@ -/* +/* $Id$ + This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #include #include #include "timedelta.h" diff --git a/source/time/timedelta.h b/source/time/timedelta.h index ad985c7..26da8f4 100644 --- a/source/time/timedelta.h +++ b/source/time/timedelta.h @@ -1,8 +1,10 @@ -/* +/* $Id$ + This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_TIME_TIMEDELTA_H_ #define MSP_TIME_TIMEDELTA_H_ @@ -18,6 +20,9 @@ Represents a quantity of time, such as five seconds. */ class TimeDelta { +private: + RawTime usec; + public: /** Constructs a zero TimeDelta. @@ -70,8 +75,6 @@ public: bool operator!=(const TimeDelta &t) const { return usec!=t.usec; } operator const void *() const { return usec ? this : 0; } -private: - RawTime usec; }; template diff --git a/source/time/timer.cpp b/source/time/timer.cpp index efe22cc..c6e546f 100644 --- a/source/time/timer.cpp +++ b/source/time/timer.cpp @@ -1,4 +1,5 @@ -/* +/* $Id$ + This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL diff --git a/source/time/timer.h b/source/time/timer.h index 8b4e595..935df03 100644 --- a/source/time/timer.h +++ b/source/time/timer.h @@ -1,4 +1,5 @@ -/* +/* $Id$ + This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL diff --git a/source/time/timestamp.h b/source/time/timestamp.h index 2905c6e..faa200c 100644 --- a/source/time/timestamp.h +++ b/source/time/timestamp.h @@ -1,8 +1,10 @@ -/* +/* $Id$ + This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_TIME_TIMESTAMP_H_ #define MSP_TIME_TIMESTAMP_H_ @@ -20,6 +22,9 @@ For representing user-specified times, use the DateTime class. */ class TimeStamp { +private: + RawTime usec; + public: /** Construct a TimeStamp that represents an arbitarily distant point in the @@ -44,17 +49,17 @@ public: TimeStamp operator-(const TimeDelta &t) const { return TimeStamp(usec-t.raw()); } TimeStamp &operator-=(const TimeDelta &t) { usec-=t.raw(); return *this; } TimeDelta operator-(const TimeStamp &t) const { return TimeDelta(usec-t.usec); } + bool operator>=(const TimeStamp &t) const { return usec>=t.usec; } bool operator>(const TimeStamp &t) const { return usec>t.usec; } bool operator<=(const TimeStamp &t) const { return usec<=t.usec; } bool operator<(const TimeStamp &t) const { return usec0 ? this : 0; } static TimeStamp from_unixtime(time_t t) { return TimeStamp(t*1000000LL); } -private: - RawTime usec; }; } // namespace Time diff --git a/source/time/types.h b/source/time/types.h index 1befb9b..89c7405 100644 --- a/source/time/types.h +++ b/source/time/types.h @@ -1,3 +1,10 @@ +/* $Id$ + +This file is part of libmspcore +Copyright © 2006,2008 Mikko Rasa, Mikkosoft Productions +Distributed under the LGPL +*/ + #ifndef MSP_TIME_TYPES_H_ #define MSP_TIME_TYPES_H_ diff --git a/source/time/units.cpp b/source/time/units.cpp index c9d5d17..9ea2840 100644 --- a/source/time/units.cpp +++ b/source/time/units.cpp @@ -1,8 +1,10 @@ -/* +/* $Id$ + This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #include "units.h" namespace Msp { diff --git a/source/time/units.h b/source/time/units.h index 98d2ae9..a0ed2b5 100644 --- a/source/time/units.h +++ b/source/time/units.h @@ -1,8 +1,10 @@ -/* +/* $Id$ + This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_TIME_UNITS_H_ #define MSP_TIME_UNITS_H_ diff --git a/source/time/utils.cpp b/source/time/utils.cpp index c9cc94d..eefbfda 100644 --- a/source/time/utils.cpp +++ b/source/time/utils.cpp @@ -1,8 +1,10 @@ -/* +/* $Id$ + This file is part of libmspcore -Copyright © 2006 Mikko Rasa, Mikkosoft Productions +Copyright © 2006-2008 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifdef WIN32 #include #else diff --git a/source/time/utils.h b/source/time/utils.h index 59fe0c2..9755356 100644 --- a/source/time/utils.h +++ b/source/time/utils.h @@ -1,8 +1,10 @@ -/* +/* $Id$ + This file is part of libmspcore -Copyright © 2006 Mikko Rasa, Mikkosoft Productions +Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_TIME_UTILS_H_ #define MSP_TIME_UTILS_H_