You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
843 B

// 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