kmail
util.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef KMAILUTIL_H
00039 #define KMAILUTIL_H
00040
00041 #include <stdlib.h>
00042 #include <qobject.h>
00043 #include <qcstring.h>
00044 class DwString;
00045
00046 namespace KMail
00047 {
00052 namespace Util {
00061 size_t crlf2lf( char* str, const size_t strLen );
00062
00063
00069 QCString lf2crlf( const QCString & src );
00075 QByteArray lf2crlf( const QByteArray & src );
00076
00080 QCString CString( const DwString& str );
00081
00085 QByteArray ByteArray( const DwString& str );
00086
00090 DwString dwString( const QCString& str );
00091
00095 DwString dwString( const QByteArray& str );
00096
00100 void setFromQCString( QByteArray& arr, const QCString& cstr );
00101
00102 inline void setFromQCString( QByteArray& arr, const QCString& cstr )
00103 {
00104 if ( cstr.size() )
00105 arr.duplicate( cstr.data(), cstr.size()-1 );
00106 else
00107 arr.resize(0);
00108 }
00109
00115 QByteArray byteArrayFromQCStringNoDetach( QCString& cstr );
00116 inline QByteArray byteArrayFromQCStringNoDetach( QCString& cstr )
00117 {
00118 QByteArray arr = cstr;
00119 if ( arr.size() )
00120 arr.resize( arr.size() - 1 );
00121 return arr;
00122 }
00123
00127 void restoreQCString( QCString& str );
00128 inline void restoreQCString( QCString& str )
00129 {
00130 if ( str.data() )
00131 str.resize( str.size() + 1 );
00132 }
00133
00137 void setFromByteArray( QCString& cstr, const QByteArray& arr );
00138
00139 inline void setFromByteArray( QCString& result, const QByteArray& arr )
00140 {
00141 const int len = arr.size();
00142 result.resize( len + 1 );
00143 memcpy(result.data(), arr.data(), len);
00144 result[len] = 0;
00145 }
00146
00150 void append( QByteArray& that, const QByteArray& str );
00151
00155 void append( QByteArray& that, const char* str );
00156
00160 void append( QByteArray& that, const QCString& str );
00161
00162 void insert( QByteArray& that, uint index, const char* s );
00163
00171 class LaterDeleter
00172 {
00173 public:
00174 LaterDeleter( QObject *o)
00175 :m_object( o ), m_disabled( false )
00176 {
00177 }
00178 virtual ~LaterDeleter()
00179 {
00180 if ( !m_disabled ) {
00181 m_object->deleteLater();
00182 }
00183 }
00184 void setDisabled( bool v )
00185 {
00186 m_disabled = v;
00187 }
00188 protected:
00189 QObject *m_object;
00190 bool m_disabled;
00191 };
00192 }
00193 }
00194
00195 #endif
|