Fixes : NB#233744
[meego-sharing-framework:transfer-ui.git] / transfer-ui / TransferUI / transferenums.h
1
2 /*
3  * This file is part of Handset UX Transfer user interface
4  *
5  * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
6  * Contact: Jukka Tiihonen <jukka.tiihonen@nokia.com>
7  *
8  * Permission is hereby granted, free of charge, to any person obtaining a copy
9  * of this software and associated documentation files (the "Software"), to 
10  * deal in the Software without restriction, including without limitation the
11  * rights to use, copy, modify, merge, publish, distribute, sublicense,     
12  * and/or sell copies of the Software, and to permit persons to whom the
13  * Software is furnished to do so, subject to the following conditions:
14  *
15  * The above copyright notice and this permission notice shall be included in
16  * all copies or substantial portions of the Software.
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS  
23  * IN THE SOFTWARE. 
24  */
25
26
27
28
29
30
31
32
33 #ifndef _TRANSFER_ENUMS_H_
34 #define _TRANSFER_ENUMS_H_
35
36 #include <QObject>
37
38 namespace TransferUI {
39
40     /*!
41         \enum  TransferType
42         \brief This is an enumeration for the type of transfer
43     */
44     enum TransferType {
45         TransferTypeUpload, //!< Transfer is upload
46         TransferTypeDownload, //!< Transfer is download
47         TransferTypeSync //!< Transfer is sync
48     };
49
50     /*!
51         \enum  TransferStatus
52         \brief This is an enumeration for the status of transfers
53     */
54     enum TransferStatus {
55         TransferStatusActive, //!< The transfer is active
56         //!< The transfer is not active (paused or not started yet)
57         TransferStatusInactive,
58
59         TransferStatusDone, //!< The transfer has been completed
60         TransferStatusPaused, //!< The transfer is paused
61         TransferStatusResume, //!< The transfer is Resumed
62         //! The transfer is cancelled by the user, yet to get ack from the client
63         TransferStatusCancel,
64         TransferStatusCanceled, //!< Transfer is actually canceled
65         TransferStatusError //!< Error State
66     };
67
68     /*!
69         \enum  TransferAtributes
70         \brief This is an enumeration for the attribute changes of transfers
71     */
72     enum TransferAtributes {
73         Init, //!< Init all attributes
74         // Attributes
75         Name, //!< Transfer name
76         Progress, //!< Transfer progress
77         Size, //!< Transfer size
78         Thumbnail, //!< Transfer thumbnail
79         Icon, //!< Transfer Icon
80         CanPause, //!< Can Pause
81         SendNow, //!< Can Send Now
82         Estimate, //!< Estimate
83         TotalCount, //!< Total Files count in transfer
84         CurrentFile, //!< Current file index
85         Message, //!< Transfer Message
86         Type, //!< Transfer type
87         Target, //!< Transfer target
88         CancelText, //!< Transfer Cancel text
89         TransferTitle, //!< Transfer title
90         TransferImage, //!< Transfer Image
91         NewTransferAdded, //! < A new Tranfer is added
92         TotalAttribute
93     };
94
95     /*!
96         \enum  TransferStateChanges
97         \brief This is an enumeration for the state changes of transfers
98     */
99     enum TransferStateChanges {
100         // State Changes
101         Active = TotalAttribute + 1, //!< Transfer active state
102         Inactive, //!< Transfer inactive state
103         Paused, //!< Transfer Paused state
104         Resumed, //!< Transfer resume state
105         Error, //!< Transfer Error state
106         Cancel, //!< Transfer Cancel state
107         Done, //!< Transfer Done
108         Canceled, //!< Transfer canceled but not ackld from the client
109         CleanUp, //!< Client Crashed  clean up the transfer
110         TotalStateChanges
111     };
112
113     /*!
114         \enum BannerEvents
115         \brief enumeration to represent what type of events to display in the
116         banner.
117     */
118     enum BannerEvent {
119         ParitalDoneTransfer, //!< Paritally Completed Transfers
120         TransferAlreadyCompleted, //!< Transfer completed
121         ClientEvent, //!< Generic event for which clients provides the message
122         TotalBannerEvent
123     };
124
125     /*!
126         \enum TransferDataRole
127         \brief enumeration to represent the data roles in the tui data model.
128         This Roles will be used to get /set data from / to the model.
129     */
130     enum TransferDataRole {
131         //! progress data of the transfer, progress data is of type double
132         ProgressRole = Qt::UserRole + 1, 
133         //! size of the transfer, size is of type qlonglong
134         SizeRole,
135         //! estimate of the transfer, estimate is of type int
136         EstimateRole,
137         //! current file index of the transfer, file index is of type int
138         CurrentFileIndexRole,
139         //! total files in the transfer, total files is of type int
140         TotalFileCountRole,
141         //! current status of the transfer, status is of type int
142         StatusRole,
143         //! check if the error transfer is repariable, this is of type bool
144         CanRepairRole,
145         //! check if transfer can pause, this is of type bool
146         CanPauseRole,
147         //! check if transfer can be sent immdiately, this is of type bool
148         CanSendImdltRole,
149         //! should transfer be shown in the history, this is of type bool
150         ShowInHistoryRole,
151         //! name of the transfer, name is of type QString
152         NameRole,
153         //! message of the transfer, if any, message is of type QString
154         MessageRole,
155         //! transfer error status. error is of QStringList, first String in the
156         //list represents Error Header, second represents Error Detailsa and the
157         //last represents action name ,if the error is repairable.
158         ErrorRole,
159         //! thumbnail information of the transfer. thumbnail is of QStringList,
160         //first provides the thumbnail file uri and the next provides the
161         //mimetype.
162         ThumbnailRole,
163         //! file icon information of the transfer, file icon is of type QString
164         FileIconRole,
165         //! target of the transfer, target is of type QString
166         TargetRole,
167         //! customized cancel text, if provided. cancel text is of type QString
168         CancelTextRole,
169         //! customized transfer title, if provided. transfer title is of type
170         //QString
171         TransferTitleRole,
172         //! image for the give transfer, image is of type QImage pointer
173         ImageRole,
174         //! start time of the transfer, time is of type QDateTime
175         StartTimeRole,
176         //! completed time of the transfer, time is of type QDateTime
177         CompletedTimeRole,
178         //! transfer method, method is of type int
179         MethodRole,
180         TotalDataRoles
181     };
182 }
183 #endif