2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://www.apache.org/licenses/LICENSE-2.0
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
17 * @file FCntContentTransferEvent.cpp
18 * @brief This is the implementation file for the %ContentTransferEvent and %ContentTransferEventArg class.
20 * This file contains implementation of the %ContentTransferEvent and %ContentTransferEventArg class.
23 #include <FBaseSysLog.h>
24 #include <FCntIContentTransferListener.h>
25 #include "FCnt_ContentTransferEvent.h"
27 using namespace Tizen::Base;
29 namespace Tizen { namespace Content
32 // ContentTransferEvent class
33 _ContentTransferEvent::_ContentTransferEvent(void)
37 _ContentTransferEvent::~_ContentTransferEvent(void)
43 _ContentTransferEvent::FireImpl(Runtime::IEventListener& listener, const Runtime::IEventArg& arg)
48 IContentTransferListener* pIContentTransferListener = dynamic_cast<IContentTransferListener*>(&listener);
49 SysTryReturnVoidResult(NID_CNT, pIContentTransferListener != null, r = E_INVALID_STATE,
50 "[E_INVALID_STATE] IContentTransferListener interface must not be null.");
52 const _ContentTransferEventArg* pArg = dynamic_cast<const _ContentTransferEventArg*>(&arg);
53 SysTryReturnVoidResult(NID_CNT, pArg != null, r = E_INVALID_STATE, "[E_INVALID_STATE] ContentTransferEventArg must not be null.");
55 switch (pArg->GetEventType())
57 case CONTENT_TRANSFER_EVENT_DOWNLOAD_COMPLETED:
58 SysLog(NID_CNT, "Event fire after call DownloadComplete.");
59 pIContentTransferListener->OnContentDownloadCompleted(pArg->GetRequestId(), pArg->GetContentId(),
60 pArg->GetResult(), pArg->GetErrorCode(), pArg->GetErrorMsg());
63 case CONTENT_TRANSFER_EVENT_CANCELED:
64 SysLog(NID_CNT, "Event fire after call DownloadCancel.");
65 pIContentTransferListener->OnContentTransferCanceled(pArg->GetRequestId(), pArg->GetResult(),
66 pArg->GetErrorCode(), pArg->GetErrorMsg());
69 case CONTENT_TRANSFER_EVENT_DOWNLOAD_TO_BUFFER_COMPLETED:
70 SysLog(NID_CNT, "Event fire after call DownloadToBufferComplete.");
71 pIContentTransferListener->OnContentDownloadToBufferCompleted(pArg->GetRequestId(), pArg->GetBuffer(),
72 pArg->GetResult(), pArg->GetErrorCode(), pArg->GetErrorMsg());
75 case CONTENT_TRANSFER_EVENT_TRANSFER_IN_PROGRESS:
76 SysLog(NID_CNT, "Event fire after call DownloadInProgress.");
77 pIContentTransferListener->OnContentTransferInProgress(pArg->GetRequestId(), pArg->GetTotalTransferedSize());
82 SysTryReturnVoidResult(NID_CNT, r == E_SUCCESS, r, "[E_INVALID_STATE] Event type is unknown.");
89 // ContentTransferEventArg class
90 _ContentTransferEventArg::_ContentTransferEventArg(void)
91 : __requestId(INVALID_REQUEST_ID)
93 , __contentTransferEventType(CONTENT_TRANSFER_EVENT_NONE)
102 _ContentTransferEventArg::~_ContentTransferEventArg(void)
108 _ContentTransferEventArg::SetEventType(ContentTransferEventType eType)
110 __contentTransferEventType = eType;
114 _ContentTransferEventArg::SetResult(result res)
120 _ContentTransferEventArg::SetErrorMsg(const String& ErrorCode, const String& ErrorMsg)
122 __errorMsg = ErrorMsg;
123 __errorCode = ErrorCode;
127 _ContentTransferEventArg::SetRequestId(RequestId requestId)
129 __requestId = requestId;
133 _ContentTransferEventArg::SetContentId(const ContentId& contentId)
135 __contentId = contentId;
139 _ContentTransferEventArg::SetTotalTransferedSize(int totalSize)
141 __totalSize = totalSize;
145 ContentTransferEventType
146 _ContentTransferEventArg::GetEventType(void) const
148 return __contentTransferEventType;
152 _ContentTransferEventArg::GetResult(void) const
158 _ContentTransferEventArg::GetErrorMsg(void) const
164 _ContentTransferEventArg::GetErrorCode(void) const
170 _ContentTransferEventArg::GetRequestId(void) const
176 _ContentTransferEventArg::GetContentId(void) const
182 _ContentTransferEventArg::GetTotalTransferedSize(void) const
188 _ContentTransferEventArg::SetBuffer(ByteBuffer* pBuffer)
190 __pBuffer = std::unique_ptr<ByteBuffer>(pBuffer);
194 _ContentTransferEventArg::GetBuffer(void) const
196 return __pBuffer.get();