blob: ce6a09bc6fd7f3e76afc639eac3e7d9f26e048c7 [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "mojo/public/utility/environment.h"
#include "mojo/public/utility/bindings_support_impl.h"
#include "mojo/public/utility/run_loop.h"
namespace mojo {
namespace utility {
Environment::Environment() : bindings_support_(NULL) {
RunLoop::SetUp();
internal::BindingsSupportImpl::SetUp();
bindings_support_ = new internal::BindingsSupportImpl;
BindingsSupport::Set(bindings_support_);
}
Environment::~Environment() {
// Allow for someone to have replaced BindingsSupport.
if (BindingsSupport::Get() == bindings_support_)
BindingsSupport::Set(NULL);
delete bindings_support_;
internal::BindingsSupportImpl::TearDown();
RunLoop::TearDown();
}
} // namespace utility
} // namespace mojo