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 © 2017 Kerio Technologies s.r.o.
8  */
9 
10 #import <kerio/web/idl/SharedStructures.idl>
11 #import <AdminStructures.idl> //Directories
12 #import <Downloads.idl>
13 #import <common.idl> //DateTimeStamp
14 
15 module kerio {
16 module jsonapi {
17 module admin {
18 
19 
20 enum DayWeekMonthPeriod {
21  periodDay,
22  periodWeek,
23  periodMonth
24 };
25 
27  Directories paths; ///< Paths to store/archive/backup
28 
29  boolean isEnabled; ///< Enable mail archiving
30  kerio::web::OptionalString remoteArchive; ///< Archive to remote email address
31 
32  boolean archiveToLocalFolder; ///< Archive to local folder
33  DayWeekMonthPeriod archiveFoldersInterval; ///< Interval used for creating of new archive folders (in days/weeks/months)
34  boolean compressOldArchiveFolders; ///< Compress old archive folders
35  kerio::web::Time compressionStartTime; ///< Time in the day when an archive compression shall start
36 
37  boolean archiveLocalMessages; ///< Local messages (local sender, local recipient)
38  boolean archiveIncomingMessages; ///< Incoming messages (remote sender, local recipient)
39  boolean archiveOutgoingMessages; ///< Outgoing messages (local sender, remote recipient)
40  boolean archiveRelayedMessages; ///< Relayed messages (remote sender, remote recipient)
41 
42  boolean archiveBeforeFilter; ///< Archive messages before content filter check (viruses and spams will be stored intact in the archive folders)
43 
44  boolean isXmppEnabled; ///< Enable archiving for instant messaging
45  boolean isEnabledPerDomain; ///< Enable custom per domain settings
46 };
47 
48 /**
49  * Archive
50  */
51 interface Archive {
52  /**
53  * Obtain archive options.
54  *
55  * @param options - current archive options
56  */
57  void get(out ArchiveOptions options);
58 
59  /**
60  * Set archive options.
61  *
62  * @param options - archive options
63  */
64  void set(in ArchiveOptions options);
65 
66  /**
67  * Returns links to available Instant Messaging archive files
68  */
69  void getXmppArchiveFiles(out DownloadList fileList);
70 
71  /**
72  * Returns link to IM archive file in given period
73  */
74  void getImArchiveFile(out kerio::web::Download fileDownload, in kerio::web::Date fromDate, in kerio::web::Date toDate);
75 };
76 
77 }; }; };//end of namespace