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
30 lines
843 B
7 months ago
|
// 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
|