chromium/out/Default/gen/chrome/common/extensions/api/activity_log_private.h

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// GENERATED FROM THE API DEFINITION IN
//   chrome/common/extensions/api/activity_log_private.json
// by tools/json_schema_compiler.
// DO NOT EDIT.

#ifndef CHROME_COMMON_EXTENSIONS_API_ACTIVITY_LOG_PRIVATE_H__
#define CHROME_COMMON_EXTENSIONS_API_ACTIVITY_LOG_PRIVATE_H__

#include <stdint.h>

#include <map>
#include <memory>
#include <optional>
#include <string>
#include <vector>

#include "base/values.h"
#include <string_view>


namespace extensions {
namespace api {
namespace activity_log_private {

//
// Types
//

enum class ExtensionActivityType {};


const char* ToString(ExtensionActivityType as_enum);
ExtensionActivityType ParseExtensionActivityType(std::string_view as_string);
std::u16string GetExtensionActivityTypeParseError(std::string_view as_string);

// Exact match or any
enum class ExtensionActivityFilter {};


const char* ToString(ExtensionActivityFilter as_enum);
ExtensionActivityFilter ParseExtensionActivityFilter(std::string_view as_string);
std::u16string GetExtensionActivityFilterParseError(std::string_view as_string);

enum class ExtensionActivityDomVerb {};


const char* ToString(ExtensionActivityDomVerb as_enum);
ExtensionActivityDomVerb ParseExtensionActivityDomVerb(std::string_view as_string);
std::u16string GetExtensionActivityDomVerbParseError(std::string_view as_string);

// This corresponds to a row from the ActivityLog database. Fields will be blank
// if they were specified precisely in a lookup filter.
struct ExtensionActivity {};

// Used to specify values for a lookup.
struct Filter {};

// This holds the results of a lookup, the filter of the lookup, the time of the
// lookup, and whether there are more results that match.
struct ActivityResultSet {};


//
// Functions
//

namespace GetExtensionActivities {

struct Params {};

namespace Results {

base::Value::List Create(const ActivityResultSet& result);
}  // namespace Results

}  // namespace GetExtensionActivities

namespace DeleteActivities {

struct Params {};

namespace Results {

base::Value::List Create();
}  // namespace Results

}  // namespace DeleteActivities

namespace DeleteActivitiesByExtension {

struct Params {};

namespace Results {

base::Value::List Create();
}  // namespace Results

}  // namespace DeleteActivitiesByExtension

namespace DeleteDatabase {

}  // namespace DeleteDatabase

namespace DeleteUrls {

struct Params {};

}  // namespace DeleteUrls

//
// Events
//

namespace OnExtensionActivity {

extern const char kEventName[];  // "activityLogPrivate.onExtensionActivity"

base::Value::List Create(const ExtensionActivity& activity);
}  // namespace OnExtensionActivity

}  // namespace activity_log_private
}  // namespace api
}  // namespace extensions

#endif  // CHROME_COMMON_EXTENSIONS_API_ACTIVITY_LOG_PRIVATE_H__