Added support for loading image files synchronously
[platform/core/uifw/dali-adaptor.git] / platform-abstractions / slp / resource-loader / resource-shader-requester.cpp
1 //
2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.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
7 //
8 //     http://floralicense.org/license/
9 //
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.
15 //
16
17 #include "resource-shader-requester.h"
18
19 using namespace Dali::Integration;
20
21 namespace Dali
22 {
23 namespace SlpPlatform
24 {
25
26 ResourceShaderRequester::ResourceShaderRequester( ResourceLoader& resourceLoader )
27 : ResourceRequesterBase( resourceLoader )
28 {
29     mThreadShader  = new ResourceThreadShader( resourceLoader );
30 }
31
32 ResourceShaderRequester::~ResourceShaderRequester()
33 {
34     delete mThreadShader;
35 }
36
37 void ResourceShaderRequester::Pause()
38 {
39   mThreadShader->Pause();
40 }
41
42 void ResourceShaderRequester::Resume()
43 {
44   mThreadShader->Resume();
45 }
46
47 void ResourceShaderRequester::LoadResource( Integration::ResourceRequest& request )
48 {
49   mThreadShader->AddRequest(request, ResourceThreadBase::RequestLoad);
50 }
51
52 ResourcePointer ResourceShaderRequester::LoadResourceSynchronously( const Integration::ResourceType& type, const std::string& path )
53 {
54   DALI_ASSERT_ALWAYS( 0 && "Cannot load shaders synchronously" );
55   return NULL;
56 }
57
58 Integration::LoadStatus ResourceShaderRequester::LoadFurtherResources( Integration::ResourceRequest& request, LoadedResource partialResource )
59 {
60   // Nothing to do
61   return RESOURCE_COMPLETELY_LOADED;
62 }
63
64 void ResourceShaderRequester::SaveResource(const Integration::ResourceRequest& request )
65 {
66   mThreadShader->AddRequest(request, ResourceThreadBase::RequestSave);
67 }
68
69 void ResourceShaderRequester::CancelLoad(Integration::ResourceId id, Integration::ResourceTypeId typeId)
70 {
71   mThreadShader->CancelRequest(id);
72 }
73
74 } // SlpPlatform
75 } // Dali