blob: f673858971476201f3df6b958b54fc703ff9e83c [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.setui;
/// operations supported by string settings.
enum StringOperation {
UPDATE = 1;
};
/// Configuration for string mutations.
struct StringMutation {
StringOperation operation;
string value;
};
/// Operations supported by account settings.
enum AccountOperation {
ADD = 1;
};
/// Configuration for account mutations.
struct AccountMutation {
AccountOperation operation;
};
/// Operations supported by wireless settings.
enum WirelessOperation {
CONNECT = 1;
DISCONNECT = 2;
};
/// Configuration for wireless mutations.
struct WirelessMutation {
WirelessOperation operation;
int64 network_id;
string password;
};
/// Configuration for time zone mutation.
struct TimeZoneMutation {
TimeZoneInfo value;
};
/// Container for setting mutations.
union Mutation {
AccountMutation account_mutation_value;
StringMutation string_mutation_value;
WirelessMutation wireless_mutation_value;
TimeZoneMutation time_zone_mutation_value;
};
struct AccountMutationHandles {
handle<eventpair> view_holder_token;
};
union MutationHandles {
AccountMutationHandles account_handles;
};