File tree 1 file changed +13
-9
lines changed
1 file changed +13
-9
lines changed Original file line number Diff line number Diff line change 1
1
#pragma once
2
2
3
3
#include " rider.hpp"
4
- #include " mutex"
4
+ #include < mutex>
5
+ #include < memory>
6
+
7
+ using namespace std ;
5
8
6
9
class RiderMgr {
7
- RiderMgr (){}
8
- static RiderMgr* riderMgrInstance;
9
- static mutex mtx;
10
- unordered_map<string, Rider* > ridersMap;
10
+ RiderMgr () = default ; // Kept constructor private to enforce singleton pattern
11
+ static shared_ptr< RiderMgr> riderMgrInstance;
12
+ static mutex mtx;
13
+ unordered_map<string, shared_ptr< Rider> > ridersMap;
11
14
public:
12
- static RiderMgr* getRiderMgr ();
13
- void addRider (string pRiderName, Rider* pRider);
14
- Rider* getRider (string pRiderName);
15
- };
15
+ static shared_ptr<RiderMgr> getRiderMgr ();
16
+ void addRider (const string& pRiderName, shared_ptr<Rider> pRider);
17
+ shared_ptr<Rider> getRider (const string& pRiderName);
18
+ virtual ~RiderMgr () = default ; // Added virtual destructor
19
+ };
You can’t perform that action at this time.
0 commit comments