MetaDataNode.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2005 Palmsource, Inc.
00003  * 
00004  * This software is licensed as described in the file LICENSE, which
00005  * you should have received as part of this distribution. The terms
00006  * are also available at http://www.openbinder.org/license.html.
00007  * 
00008  * This software consists of voluntary contributions made by many
00009  * individuals. For the exact contribution history, see the revision
00010  * history and logs, available at http://www.openbinder.org
00011  */
00012 
00013 #ifndef _STORAGE_METADATANODE_H
00014 #define _STORAGE_METADATANODE_H
00015 
00021 #include <storage/GenericNode.h>
00022 
00023 #if _SUPPORTS_NAMESPACE
00024 namespace palmos {
00025 namespace storage {
00026 #endif
00027 
00032 class IDatum;
00033 
00034 // ==========================================================================
00035 // ==========================================================================
00036 
00038 
00051 class BMetaDataNode : public BGenericNode
00052 {
00053 public:
00054     // --------------------------------------------------------------
00058                                 BMetaDataNode();
00059                                 BMetaDataNode(const SContext& context);
00060 protected:
00061     virtual                     ~BMetaDataNode();
00062 public:
00063 
00065             void                TouchLocked();
00066 
00068 
00069     // --------------------------------------------------------------
00074 
00075     virtual SString             MimeTypeLocked() const;
00076     virtual status_t            StoreMimeTypeLocked(const SString& value);
00077     virtual nsecs_t             CreationDateLocked() const;
00078     virtual status_t            StoreCreationDateLocked(nsecs_t value);
00079     virtual nsecs_t             ModifiedDateLocked() const;
00080     virtual status_t            StoreModifiedDateLocked(nsecs_t value);
00081 
00083 
00084 private:
00085             void                init();
00086 
00087             SString             m_mimeType;
00088             nsecs_t             m_creationDate;
00089             nsecs_t             m_modifiedDate;
00090 };
00091 
00092 // ==========================================================================
00093 // ==========================================================================
00094 
00097 #if _SUPPORTS_NAMESPACE
00098 } } // namespace palmos::storage
00099 #endif
00100 
00101 #endif // _STORAGE_METADATANODE_H