1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROMECAST_CRASH_LINUX_CRASH_TESTING_UTILS_H_
6 #define CHROMECAST_CRASH_LINUX_CRASH_TESTING_UTILS_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "base/memory/scoped_vector.h"
11 namespace chromecast
{
15 // Creates a DumpInfo object corresponding to the deserialization of
16 // |json_string|. Returned DumpInfo object maybe invalid if |json_string|
17 // doesn't correspond to a valid DumpInfo object.
18 scoped_ptr
<DumpInfo
> CreateDumpInfo(const std::string
& json_string
);
20 // Populates |dumps| with all the DumpInfo entries serialized in the lockfile at
21 // |lockfile_path|. Returns true on success, false on error.
22 bool FetchDumps(const std::string
& lockfile_path
,
23 ScopedVector
<DumpInfo
>* dumps
);
25 // Clear all dumps in the lockfile at |lockfile_path|.
26 // Returns true on success, false on error.
27 bool ClearDumps(const std::string
& lockfile_path
);
29 // Creates an empty lockfile at |lockfile_path|. Returns true on success, false
31 bool CreateLockFile(const std::string
& lockfile_path
);
33 // Appends serialization of |dump| onto the lockfile at |lockfile_path|.
34 // Returns true on success, false on error.
35 bool AppendLockFile(const std::string
& lockfile_path
, const DumpInfo
& dump
);
37 // Set the ratelimit period start in the lockfile at |lockfile_path| to |start|.
38 // Returns true on success, false on error.
39 bool SetRatelimitPeriodStart(const std::string
& lockfile_path
, time_t start
);
41 } // namespace chromecast
43 #endif // CHROMECAST_CRASH_LINUX_CRASH_TESTING_UTILS_H_