In-progress work: refactoring PAL not to be instanced.
This removes a lot of useless passing around of the PAL object.
This commit is contained in:
@@ -25,11 +25,8 @@ DEFINE_int32(remote_debug_port, 6200,
|
||||
"Websocket port to listen for debugger connections on.");
|
||||
|
||||
|
||||
Debugger::Debugger(xe_pal_ref pal) {
|
||||
pal_ = xe_pal_retain(pal);
|
||||
|
||||
listener_ = auto_ptr<Listener>(new WsListener(
|
||||
this, pal_, FLAGS_remote_debug_port));
|
||||
Debugger::Debugger() {
|
||||
listener_ = auto_ptr<Listener>(new WsListener(this, FLAGS_remote_debug_port));
|
||||
}
|
||||
|
||||
Debugger::~Debugger() {
|
||||
@@ -45,12 +42,6 @@ Debugger::~Debugger() {
|
||||
delete it->second;
|
||||
}
|
||||
content_sources_.clear();
|
||||
|
||||
xe_pal_release(pal_);
|
||||
}
|
||||
|
||||
xe_pal_ref Debugger::pal() {
|
||||
return xe_pal_retain(pal_);
|
||||
}
|
||||
|
||||
void Debugger::RegisterContentSource(ContentSource* content_source) {
|
||||
|
||||
@@ -28,11 +28,9 @@ class Listener;
|
||||
|
||||
class Debugger {
|
||||
public:
|
||||
Debugger(xe_pal_ref pal);
|
||||
Debugger();
|
||||
virtual ~Debugger();
|
||||
|
||||
xe_pal_ref pal();
|
||||
|
||||
void RegisterContentSource(ContentSource* content_source);
|
||||
|
||||
int Startup();
|
||||
@@ -47,7 +45,6 @@ private:
|
||||
friend class Client;
|
||||
|
||||
private:
|
||||
xe_pal_ref pal_;
|
||||
auto_ptr<Listener> listener_;
|
||||
std::vector<Client*> clients_;
|
||||
std::map<uint32_t, ContentSource*> content_sources_;
|
||||
|
||||
@@ -14,11 +14,9 @@ using namespace xe;
|
||||
using namespace xe::dbg;
|
||||
|
||||
|
||||
Listener::Listener(Debugger* debugger, xe_pal_ref pal) :
|
||||
Listener::Listener(Debugger* debugger) :
|
||||
debugger_(debugger) {
|
||||
pal_ = xe_pal_retain(pal);
|
||||
}
|
||||
|
||||
Listener::~Listener() {
|
||||
xe_pal_release(pal_);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ class Debugger;
|
||||
|
||||
class Listener {
|
||||
public:
|
||||
Listener(Debugger* debugger, xe_pal_ref pal);
|
||||
Listener(Debugger* debugger);
|
||||
virtual ~Listener();
|
||||
|
||||
virtual int Setup() = 0;
|
||||
@@ -31,7 +31,6 @@ public:
|
||||
|
||||
protected:
|
||||
Debugger* debugger_;
|
||||
xe_pal_ref pal_;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -60,10 +60,7 @@ int WsClient::Setup() {
|
||||
xe_socket_set_keepalive(socket_id_, true);
|
||||
xe_socket_set_nodelay(socket_id_, true);
|
||||
|
||||
xe_pal_ref pal = debugger_->pal();
|
||||
thread_ = xe_thread_create(pal, "Debugger Client",
|
||||
StartCallback, this);
|
||||
xe_pal_release(pal);
|
||||
thread_ = xe_thread_create("Debugger Client", StartCallback, this);
|
||||
return xe_thread_start(thread_);
|
||||
}
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@ using namespace xe;
|
||||
using namespace xe::dbg;
|
||||
|
||||
|
||||
WsListener::WsListener(Debugger* debugger, xe_pal_ref pal, uint32_t port) :
|
||||
Listener(debugger, pal),
|
||||
WsListener::WsListener(Debugger* debugger, uint32_t port) :
|
||||
Listener(debugger),
|
||||
port_(port) {
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ class Debugger;
|
||||
|
||||
class WsListener : public Listener {
|
||||
public:
|
||||
WsListener(Debugger* debugger, xe_pal_ref pal, uint32_t port);
|
||||
WsListener(Debugger* debugger, uint32_t port);
|
||||
virtual ~WsListener();
|
||||
|
||||
virtual int Setup();
|
||||
|
||||
Reference in New Issue
Block a user