Fairport  v1.0.38
fairport::folder Class Reference

A folder in a PST file. More...

#include <folder.h>

+ Inheritance diagram for fairport::folder:
+ Collaboration diagram for fairport::folder:

List of all members.

Public Types

typedef
boost::transform_iterator
< message_transform_row,
const_table_row_iter
message_iterator
 Message iterator type; a transform iterator over a table row iterator.
typedef
boost::transform_iterator
< folder_transform_row,
folder_filter_iterator > 
folder_iterator
 Folder iterator type; a transform iterator over a filter iterator over table row iterator.
typedef
boost::transform_iterator
< search_folder_transform_row,
search_folder_filter_iterator > 
search_folder_iterator
 Search folder iterator type; a transform iterator over a filter iterator over table row iterator.
typedef
boost::transform_iterator
< contact_transform_row,
row_filter_iterator > 
contact_iterator
 Contact iterator type; a transform iterator over a filter iterator over a table row iterator.
typedef
boost::transform_iterator
< task_transform_row,
row_filter_iterator > 
task_iterator
 Task iterator type; a transform iterator over a filter iterator over a table row iterator.

Public Member Functions

 folder (const node &n)
 Construct a folder object.
folder_iterator sub_folder_begin () const
 Get an iterator to the first folder in this folder.
folder_iterator sub_folder_end () const
 Get the end folder iterator.
search_folder_iterator sub_search_folder_begin () const
 Get an iterator to the first search folder in this folder.
search_folder_iterator sub_search_folder_end () const
 Get the end search folder iterator.
folder open_sub_folder (const std::wstring &name)
 Open a specific subfolder in this folder, not recursive.
message_iterator message_begin () const
message_iterator message_end () const
contact_iterator contact_begin () const
contact_iterator contact_end () const
task_iterator task_begin () const
task_iterator task_end () const
message_iterator associated_message_begin () const
 Get an iterator to the first associated message in this folder.
message_iterator associated_message_end () const
 Get the end associated message iterator.
std::wstring get_name () const
size_t get_subfolder_count () const
 Get the number of sub folders in this folder.
size_t get_unread_message_count () const
size_t get_message_count () const
size_t get_associated_message_count () const
 Get the number of associated messages in this folder.
tableget_hierarchy_table ()
 Get the hierarchy table of this folder.
tableget_contents_table ()
tableget_associated_contents_table ()
 Get the associated contents table of this folder.
const tableget_hierarchy_table () const
const tableget_contents_table () const
const tableget_associated_contents_table () const

Detailed Description

A folder in a PST file.

The folder object allows access to subfolders, messages, and associated messages which are contained in the folder. Similar to the PST Layer object, the folder also offers a way to lookup subfolders by name.

A folder currently doesn't have a concept of sorting. This was deemed unnecessary because of the iterator based approach used for exposing sub messages and folders - one can use these iterators to build up a container of messages or folders to be sorted, and calling std::sort directly with an arbitrary sorting functor.

Definition at line 133 of file folder.h.


Member Typedef Documentation

typedef boost::transform_iterator<contact_transform_row, row_filter_iterator> fairport::folder::contact_iterator

Contact iterator type; a transform iterator over a filter iterator over a table row iterator.

Definition at line 147 of file folder.h.

typedef boost::transform_iterator<folder_transform_row, folder_filter_iterator> fairport::folder::folder_iterator

Folder iterator type; a transform iterator over a filter iterator over table row iterator.

Definition at line 143 of file folder.h.

Message iterator type; a transform iterator over a table row iterator.

Definition at line 141 of file folder.h.

typedef boost::transform_iterator<search_folder_transform_row, search_folder_filter_iterator> fairport::folder::search_folder_iterator

Search folder iterator type; a transform iterator over a filter iterator over table row iterator.

Definition at line 145 of file folder.h.

typedef boost::transform_iterator<task_transform_row, row_filter_iterator> fairport::folder::task_iterator

Task iterator type; a transform iterator over a filter iterator over a table row iterator.

Definition at line 149 of file folder.h.


Constructor & Destructor Documentation

fairport::folder::folder ( const node n) [inline]

Construct a folder object.

Parameters:
[in]nA folder node

Definition at line 153 of file folder.h.


Member Function Documentation

message_iterator fairport::folder::associated_message_begin ( ) const [inline]

Get an iterator to the first associated message in this folder.

Returns:
an iterator positioned on the first associated message in this folder

Definition at line 204 of file folder.h.

message_iterator fairport::folder::associated_message_end ( ) const [inline]

Get the end associated message iterator.

Returns:
an iterator at the end position

Definition at line 208 of file folder.h.

contact_iterator fairport::folder::contact_begin ( ) const [inline]

Get an iterator to the first contact in this folder.

Returns:
an iterator positioned on the first contact in this folder

Definition at line 189 of file folder.h.

contact_iterator fairport::folder::contact_end ( ) const [inline]

Get the end contact iterator.

Returns:
an iterator at the end position

Definition at line 192 of file folder.h.

fairport::table & fairport::folder::get_associated_contents_table ( ) [inline]

Get the associated contents table of this folder.

Returns:
The associated contents table

Definition at line 327 of file folder.h.

const fairport::table & fairport::folder::get_associated_contents_table ( ) const [inline]

Get the associated contents table of this folder.

Returns:
The associated contents table

Definition at line 319 of file folder.h.

size_t fairport::folder::get_associated_message_count ( ) const [inline]

Get the number of associated messages in this folder.

Returns:
The number of associated messages

Definition at line 227 of file folder.h.

fairport::table & fairport::folder::get_contents_table ( ) [inline]

Get the contents table of this folder.

Returns:
The contents table

Definition at line 301 of file folder.h.

const fairport::table & fairport::folder::get_contents_table ( ) const [inline]

Get the contents table of this folder.

Returns:
The contents table

Definition at line 293 of file folder.h.

fairport::table & fairport::folder::get_hierarchy_table ( ) [inline]

Get the hierarchy table of this folder.

Returns:
The hierarchy table

Definition at line 314 of file folder.h.

const fairport::table & fairport::folder::get_hierarchy_table ( ) const [inline]

Get the hierarchy table of this folder.

Returns:
The hierarchy table

Definition at line 306 of file folder.h.

size_t fairport::folder::get_message_count ( ) const [inline]

Get the number of messages in this folder.

Returns:
The number of messages

Definition at line 223 of file folder.h.

std::wstring fairport::folder::get_name ( ) const [inline]

Get the display name of this folder.

Returns:
The name of this folder

Definition at line 213 of file folder.h.

size_t fairport::folder::get_subfolder_count ( ) const [inline]

Get the number of sub folders in this folder.

Returns:
The number of subfolders

Definition at line 217 of file folder.h.

size_t fairport::folder::get_unread_message_count ( ) const [inline]

Get the number of unread messages in this folder.

Returns:
The number of unread messages

Definition at line 220 of file folder.h.

message_iterator fairport::folder::message_begin ( ) const [inline]

Get an iterator to the first message in this folder.

Returns:
an iterator positioned on the first message in this folder

Definition at line 182 of file folder.h.

message_iterator fairport::folder::message_end ( ) const [inline]

Get the end message iterator.

Returns:
an iterator at the end position

Definition at line 185 of file folder.h.

fairport::folder fairport::folder::open_sub_folder ( const std::wstring &  name) [inline]

Open a specific subfolder in this folder, not recursive.

Parameters:
[in]nameThe name of the folder to open
Exceptions:
key_not_found<std::wstring>If a folder of the specified name was not found in this folder
Returns:
The first folder by that name found in this folder

Definition at line 283 of file folder.h.

folder_iterator fairport::folder::sub_folder_begin ( ) const [inline]

Get an iterator to the first folder in this folder.

Returns:
an iterator positioned on the first folder in this folder

Definition at line 159 of file folder.h.

folder_iterator fairport::folder::sub_folder_end ( ) const [inline]

Get the end folder iterator.

Returns:
an iterator at the end position

Definition at line 163 of file folder.h.

search_folder_iterator fairport::folder::sub_search_folder_begin ( ) const [inline]

Get an iterator to the first search folder in this folder.

Returns:
an iterator positioned on the first search folder in this folder

Definition at line 168 of file folder.h.

search_folder_iterator fairport::folder::sub_search_folder_end ( ) const [inline]

Get the end search folder iterator.

Returns:
an iterator at the end position

Definition at line 172 of file folder.h.

task_iterator fairport::folder::task_begin ( ) const [inline]

Get an iterator to the first task in this folder.

Returns:
an iterator positioned on the first task in this folder

Definition at line 196 of file folder.h.

task_iterator fairport::folder::task_end ( ) const [inline]

Get the end contact iterator.

Returns:
an iterator at the end position

Definition at line 199 of file folder.h.


The documentation for this class was generated from the following file: