Skip to content

Commit 94762c1

Browse files
committed
Merge remote-tracking branch 'origin/dev' into dev
2 parents c92ea3f + 118d775 commit 94762c1

File tree

3 files changed

+7
-15
lines changed

3 files changed

+7
-15
lines changed

Examples/MessageBus.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
#include <chrono>
44
#include <functional>
55
#include <iostream>
6-
#include <typeinfo>
7-
#include <utility>
6+
#include <thread>
7+
#include <unordered_map>
88

99
using namespace sb::di;
1010
using namespace std::chrono_literals;

Examples/Permissions.cpp

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#include <SevenBit/DI.hpp>
22
#include <iostream>
3-
#include <utility>
43

54
using namespace sb::di;
65

@@ -9,17 +8,9 @@ enum class Permission : int
98
NONE = 0,
109
READ = 1,
1110
UPDATE = 2,
11+
ALL = READ | UPDATE
1212
};
1313

14-
Permission operator|(Permission lhs, Permission rhs)
15-
{
16-
return static_cast<Permission>(static_cast<int>(lhs) | static_cast<int>(rhs));
17-
}
18-
Permission operator&(Permission lhs, Permission rhs)
19-
{
20-
return static_cast<Permission>(static_cast<int>(lhs) & static_cast<int>(rhs));
21-
}
22-
2314
struct IUserPermission
2415
{
2516
virtual Permission getPermissions(int userId) = 0;
@@ -35,7 +26,7 @@ struct UserPermission final : IUserPermission
3526

3627
struct AdminPermission final : IUserPermission
3728
{
38-
Permission getPermissions(int userId) override { return Permission::READ | Permission::UPDATE; }
29+
Permission getPermissions(int userId) override { return Permission::ALL; }
3930
};
4031

4132
struct Data
@@ -77,7 +68,9 @@ class DataService final : public IDataService
7768
private:
7869
void assertPermission(const Permission permission)
7970
{
80-
if ((_userPermission.getPermissions(1) & permission) != permission)
71+
auto userPermission = _userPermission.getPermissions(1);
72+
if (int check = static_cast<int>(userPermission) & static_cast<int>(permission);
73+
static_cast<Permission>(check) != permission)
8174
{
8275
throw std::runtime_error("Insufficient permissions");
8376
}

Examples/Tester.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#include <SevenBit/DI.hpp>
22
#include <iostream>
3-
#include <utility>
43

54
using namespace sb::di;
65

0 commit comments

Comments
 (0)