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:
Ben Vanik
2013-03-29 05:07:32 -07:00
parent c46093266e
commit 85bdbd24d1
45 changed files with 444 additions and 189 deletions

View File

@@ -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) {

View File

@@ -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_;

View File

@@ -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_);
}

View File

@@ -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_;
};

View File

@@ -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_);
}

View File

@@ -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) {
}

View File

@@ -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();