/* * The contents of this file are subject to the Mozilla Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is Vision. * * The Initial Developer of the Original Code is The Vision Team. * Portions created by The Vision Team are * Copyright (C) 1999, 2000, 2001 The Vision Team. All Rights * Reserved. * * Contributor(s): Wade Majors * Todd Lair * Andrew Bazan */ #ifndef _UTILITIES_H #define _UTILITIES_H_ #include template class AutoDestructor { public: AutoDestructor(T* t) { fObject = t; } virtual ~AutoDestructor(void) { delete fObject; } void SetTo(T* t) { delete fObject; fObject = t; } private: T* fObject; }; class BMessage; class BPoint; BString GetWord (const char*, int32); BString RestOfString (const char*, int32); BString GetNick (const char*); BString GetIdent (const char*); BString GetAddress (const char*); BString TimeStamp (void); BString ExpandKeyed (const char*, const char*, const char**); BString DurationString (int64); BString StringToURI (const char*); const char* RelToAbsPath (const char*); BString GetWordColon (const char*, int32); int32 Get440Len (const char*); uint16 CheckClickCount(BPoint, BPoint&, bigtime_t, bigtime_t&, int16&); #endif