r_saved_message.h

Go to the documentation of this file.
00001 ///
00002 /// \file       r_saved_message.h
00003 ///             Blackberry database record parser class for saved email
00004 ///             message records.
00005 ///
00006 
00007 /*
00008     Copyright (C) 2005-2012, Net Direct Inc. (http://www.netdirect.ca/)
00009     Copyright (C) 2007, Brian Edginton (edge@edginton.net)
00010 
00011     This program is free software; you can redistribute it and/or modify
00012     it under the terms of the GNU General Public License as published by
00013     the Free Software Foundation; either version 2 of the License, or
00014     (at your option) any later version.
00015 
00016     This program is distributed in the hope that it will be useful,
00017     but WITHOUT ANY WARRANTY; without even the implied warranty of
00018     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00019 
00020     See the GNU General Public License in the COPYING file at the
00021     root directory of this project for more details.
00022 */
00023 
00024 #ifndef __BARRY_RECORD_SAVED_MESSAGE_H__
00025 #define __BARRY_RECORD_SAVED_MESSAGE_H__
00026 
00027 #include "dll.h"
00028 #include "r_message_base.h"
00029 
00030 namespace Barry {
00031 
00032 //
00033 // NOTE:  All classes here must be container-safe!  Perhaps add sorting
00034 //        operators in the future.
00035 //
00036 
00037 /// \addtogroup RecordParserClasses
00038 /// @{
00039 
00040 class BXEXPORT SavedMessage : public MessageBase
00041 {
00042 public:
00043         SavedMessage()
00044         {
00045                 Clear();
00046         }
00047 
00048         void Clear()
00049         {
00050                 MessageBase::Clear();
00051 
00052                 RecType = GetDefaultRecType();
00053                 RecordId = 0;
00054         }
00055 
00056         // database name
00057         static const char * GetDBName() { return "Saved Email Messages"; }
00058         static uint8_t GetDefaultRecType() { return 3; }
00059 
00060         // Generic Field Handle support
00061         static const FieldHandle<SavedMessage>::ListT& GetFieldHandles();
00062 };
00063 
00064 BXEXPORT inline std::ostream& operator<<(std::ostream &os, const SavedMessage &msg) {
00065         msg.Dump(os);
00066         return os;
00067 }
00068 
00069 /// @}
00070 
00071 } // namespace Barry
00072 
00073 #endif // __BARRY_RECORD_SAVED_MESSAGE_H__
00074 
00075