All Classes Files Functions Variables Enumerations Enumerator Groups Pages
Archive.idl
Go to the documentation of this file.
1  /**
2  * @file Archive.idl
3  * @brief Set storing the copies of messages in special archive folders.
4  *
5  * @author Dusan Juhas, Frantisek Boranek
6  *
7  * @copyright Copyright © 2011-2012 Kerio Technologies s.r.o.
8  */
9 
10 #import <kerio/web/idl/SharedStructures.idl>
11 #import <AdminStructures.idl> //Directories
12 #import <Downloads.idl>
13 
14 module kerio {
15 module jsonapi {
16 module admin {
17 
18 
19 enum DayWeekMonthPeriod {
20  periodDay,
21  periodWeek,
22  periodMonth
23 };
24 
26  Directories paths; ///< Paths to store/archive/backup
27 
28  boolean isEnabled; ///< Enable mail archiving
29  kerio::web::OptionalString remoteArchive; ///< Archive to remote email address
30 
31  boolean archiveToLocalFolder; ///< Archive to local folder
32  DayWeekMonthPeriod archiveFoldersInterval; ///< Interval used for creating of new archive folders (in days/weeks/months)
33  boolean compressOldArchiveFolders; ///< Compress old archive folders
34  kerio::web::Time compressionStartTime; ///< Time in the day when an archive compression shall start
35 
36  boolean archiveLocalMessages; ///< Local messages (local sender, local recipient)
37  boolean archiveIncomingMessages; ///< Incoming messages (remote sender, local recipient)
38  boolean archiveOutgoingMessages; ///< Outgoing messages (local sender, remote recipient)
39  boolean archiveRelayedMessages; ///< Relayed messages (remote sender, remote recipient)
40 
41  boolean archiveBeforeFilter; ///< Archive messages before content filter check (viruses and spams will be stored intact in the archive folders)
42 
43  boolean isIMEnabled; ///< Enable archiving for instant messaging
44 };
45 
46 /**
47  * Archive
48  */
49 interface Archive {
50  /**
51  * Obtain archive options.
52  *
53  * @param options - current archive options
54  */
55  void get(out ArchiveOptions options);
56 
57  /**
58  * Set archive options.
59  *
60  * @param options - archive options
61  */
62  void set(in ArchiveOptions options);
63 
64  /**
65  * Returns links to available Instant Messaging archive files
66  */
67  void getImArchiveFiles(out DownloadList fileList);
68 };
69 
70 }; }; };//end of namespace