sdl_core_winport's People
sdl_core_winport's Issues
Refactor DateTime class
- Remove class
DateTime
and declare all functions just indate_time
namespace - Rework
getCurrentTime()
function in Qt version because it works incorrectly timeval
struct uses in Qt version is not crossplatform- Analyze all related functions for useless and redundant
Fix 'QIODevice::open: File access not specified' for the Qt branch
On start SDL we get 'QIODevice::open: File access not specified' and 'QFSFileEngine::open: No file name specified' warnings.
TcpServerOiginatedSocketConnection::Establish is not ported to windows
It uses posix close
function to close the socket. There are already a lot of CloseSocket
functions in anonymous namespaces. We should extract some util function and reuse it.
SDL inserts incorrect delimiters to file paths
Example:
D:\sdl_core_winport\build\sdl_win_x64\src\appMain\storage/235618/icon.png
Change log level to INFO
src/components/utils/src/rwlock_win.cc:117
(Try to acquire lock)
Verify the version of the clang-format in the pre-commit hook
We should switch to the llvm 3.6
This version should be verified
Reformat all sources once more with this version of the clang-format
Implement wrapper for std::fstream to allow using Qt streams
HMI looses connection to the mobile after some time
This should also be reproducible in Qt version. At least I've faced with issue in my refactored Qt branch.
I've retested this on current develop (win native) and can reproduce the issue.
Steps. Connect SPT. Open full mode. And leave it. After some time there will be "Connection was lost" notification on the HMI side. But SPT will still be in connected mode.
If I didn't do any actions on the SPT side, then there will be quite fast disconnect. In some cases disconnection was after 5 mins.
Update README.md
It seems to be redundant to use apt-get on Windows platform and so on.
CMake files refactoring
- Refactoring of CMakeFiles for all components
- Refactoring Find modules for all 3rd party
Create script which will prepare the release builds
Currently we create release builds manually. It's easy to forget to update files (Policy.dll) or some other file. It would be nice to have a script (cmd or python) in infrastructure which will build and copy output files to some place. This will allow to reduce the possibility to include into release wrong files.
Classify build warnings
- Disable only windows specific warnings in
winhdr.h
file - Increase warnings level to /W3
Change the interface of the Pipe::Send and Socket::Send
Return just int32_t instead of bool result + out param. E.g. on windows platform the result is int. This allows to return -1 as error flag. The original problem was that send on posix returns ssize_t.
On my opinion int32_t is more that enough to store the bytes sent. typical tcp frame buffer is 4096 bytes. Input and output queues also have sizes which fits into the int. If we will try more than available free space in the buffer we would get ewouldblock error.
Change in the interface will make the usage much more clear.
Build fails with disabled ENABLE_LOG flag
QT_PORT
build works fine
Build infrastructure refactoring
- CMakeLists.txt files refactoring
- cmd files refactoring
- Delete environment variables usage if possible
- Make 3rd party paths and environment variables consistent
Qt port doesn't read correctly permissions from the db
SQLPTRepresentation::GatherFunctionalGroupings doesn't fill the rpcs field correctly. Do the permissions are empty.
Provide doxygen style documentation for socket and pipe wrappers
There are a lot of warnings regarding missing pdb files for the openssl libs. We can ingore this.
We are not going to debug openssl. thus we can ignore these warnings. this will make build output more clean.
Logging from policy dll doesn't work
In the sources logging is present. But it doesn't appear in the log file.
Add constants for "." and ".." in file system
QSqlQuery warnings in log
A lot of Qt warnings present in log:
QSqlQuery::value: not positioned on a valid record
See attached log file
SmartDeviceLink.txt
cache_manager(Policy) has map with too long name (CalculatedPermissions)
Here is one warning sample:
[ 95%] Building CXX object src/components/policy/src/policy/CMakeFiles/Policy.dir/Policy_automoc.cpp.obj
Policy_automoc.cpp
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\xmemory(196) : warning C4503: 'std::_Tree_val<_Traits>::_Myval' : decorated name length exceeded, name was truncated
with
[
_Traits=std::_Tmap_traits<std::string,policy::CacheManager::AppCalculatedPermissions,std::less<policy::HMILevel>,std::allocator<std::pair<const std::string,policy::CacheManager::AppCalculatedPermissions>>,false>
]
Here is related help from MS: https://msdn.microsoft.com/en-us/library/074af4b6.aspx
Rework `IsCertificateUpdateRequired` method
IsCertificateUpdateRequired
method should be called during starting of new session with mobile device. This method uses the due date of certificate. In case SDL doesn't have certficate at all there is nothing to check and method all the time returns true since the variable which we use to store certificate time contains default value (01/01/1900).
To avoid such problem SDL uses certificate_exists_
flag in order to understand if certificate has been set to the SSL context. Using this flag currently workable but error prone solution. So we need to figure out how to implement proper check for certificate date.
Check WIN_NATIVE and QT_PORT build with enabled TimeTester
TimeTester functionality could be enabled by build option in CMakeLists.txt
Wrap logging level enum with namespace to fix compilation warnigs
Rewrite LogLevel next way
namespace LogLevel {
enum Type {
LOGLEVEL_TRACE
.....
};
}
And fix usage
Currently each logging macros generates the warning regarding enum usage.
Bug in pre-commit hook. Partial file commit doesn't work
If part of the file was added to the index and some part of it is still red (modified, but not in index) then pre-commit hook will grab the whole file into the commit.
Remove `/FORCE:MULTIPLE` linker flag from smartDeviceLinkCore cmake file
This flag was added because there an issue in the smart object module. Without this flag the project will not compile.
But this is hiding the real problem but not fix.
we should fix the real problem. currently we have two link warning. One in smart object(real problem) and the another because of this force flag.
/INCREMENTAL:NO
flag is also related to this issue. It's not needed.
Use Pimpl class in Socket and RWLock
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.