// Copyright 2018 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 "osp/impl/with_destruction_callback.h" #include "util/osp_logging.h" namespace openscreen { namespace osp { WithDestructionCallback::WithDestructionCallback() = default; WithDestructionCallback::~WithDestructionCallback() { if (destruction_callback_function_) { destruction_callback_function_(destruction_callback_state_); } } void WithDestructionCallback::SetDestructionCallback( WithDestructionCallback::DestructionCallbackFunctionPointer function, void* state) { OSP_DCHECK(!destruction_callback_function_); destruction_callback_function_ = function; destruction_callback_state_ = state; } } // namespace osp } // namespace openscreen