2 * Copyright (c) 2019 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.
18 #include <dali/internal/adaptor-framework/common/file-loader-impl.h>
24 #include <dali/integration-api/debug.h>
35 int ReadFile(const std::string& filename, Dali::Vector<char> & memblock, Dali::FileLoader::FileType fileType)
39 return Dali::Internal::Adaptor::ReadFile( filename, size, memblock, fileType);
42 int ReadFile(const std::string& filename, std::streampos& fileSize, Dali::Vector<char> & memblock, Dali::FileLoader::FileType fileType)
47 if( fileType == Dali::FileLoader::BINARY )
49 file = new std::ifstream (filename.c_str(), std::ios::in|std::ios::binary|std::ios::ate);
51 else if( fileType == Dali::FileLoader::TEXT )
53 file = new std::ifstream (filename.c_str(), std::ios::in|std::ios::ate);
62 fileSize = file->tellg();
64 memblock.Resize( fileSize );
66 file->seekg (0, std::ios::beg);
67 file->read( memblock.Begin(), fileSize );
76 DALI_LOG_WARNING( "file open failed for: \"%s\"", filename );
82 std::streampos GetFileSize(const std::string& filename)
84 std::streampos size = 0;
86 std::ifstream file( filename.c_str(), std::ios::in|std::ios::binary|std::ios::ate );