Dobby 3.0
Dobby “Docker based Thingy” is a tool for managing and running OCI containers using crun
Loading...
Searching...
No Matches
RefCountFileLock.h
1/*
2* If not stated otherwise in this file or this component's LICENSE file the
3* following copyright and licenses apply:
4*
5* Copyright 2022 Sky UK
6*
7* Licensed under the Apache License, Version 2.0 (the "License");
8* you may not use this file except in compliance with the License.
9* You may obtain a copy of the License at
10*
11* http://www.apache.org/licenses/LICENSE-2.0
12*
13* Unless required by applicable law or agreed to in writing, software
14* distributed under the License is distributed on an "AS IS" BASIS,
15* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16* See the License for the specific language governing permissions and
17* limitations under the License.
18*/
19/*
20 * File: RefCountFileLock.h
21 *
22 */
23#ifndef REFCOUNTFILELOCK_H
24#define REFCOUNTFILELOCK_H
25
26#include "RefCountFile.h"
27#include <Logging.h>
28#include <memory>
29
30// -----------------------------------------------------------------------------
41{
42public:
43 RefCountFileLock() = delete;
46
47 // Lock the file on construction
48 RefCountFileLock(std::unique_ptr<RefCountFile> &file): mRefCountFile(file)
49 {
50 AI_LOG_FN_ENTRY();
51 mRefCountFile->Lock();
52 AI_LOG_FN_EXIT();
53 }
54
55 // Unlock the file on destruction
57 {
58 AI_LOG_FN_ENTRY();
59 mRefCountFile->Unlock();
60 AI_LOG_FN_EXIT();
61 }
62
63private:
64 std::unique_ptr<RefCountFile> &mRefCountFile;
65};
66
67
68#endif //REFCOUNTFILELOCK_H
Class that represents a lock on a reference count file.
Definition RefCountFileLock.h:41