Project import
diff --git a/system_api/LICENSE b/system_api/LICENSE new file mode 100644 index 0000000..d6ec73d --- /dev/null +++ b/system_api/LICENSE
@@ -0,0 +1,27 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/system_api/MODULE_LICENSE_BSD b/system_api/MODULE_LICENSE_BSD new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/system_api/MODULE_LICENSE_BSD
diff --git a/system_api/OWNERS b/system_api/OWNERS new file mode 100644 index 0000000..126836f --- /dev/null +++ b/system_api/OWNERS
@@ -0,0 +1,7 @@ +set noparent + +# Please get a review from someone who's knowledgeable (per commit history) +# about the component whose constants you're changing. +derat@chromium.org +pstew@chromium.org +wad@chromium.org
diff --git a/system_api/README b/system_api/README new file mode 100644 index 0000000..0347fe7 --- /dev/null +++ b/system_api/README
@@ -0,0 +1,19 @@ +This repository (system_api.git) contains constants and definitions like +D-Bus service names that are shared between Chromium and Chromium OS. + +This repository is only for things like headers and .proto files. +No implementation should be added. + +When writting a .proto file make sure to use: +"option optimize_for = LITE_RUNTIME;" + +This will force usage of a lite protobuf instead of a full/heavy weight +protobuf. The browser only links against the light version, so you will get +cryptic link errors about missing parts of Message if you define a protobuf here +and then try to use it in Chrome. Currently CrOS links against the full +protobuffer library, but that might change in the future. + +When declaring a protobuf, avoid use of required unless it is exactly what you +mean. "Required is Forever" and very rarely should actually be used. Consult +http://code.google.com/apis/protocolbuffers/docs/cpptutorial.html for a detailed +of this issue. \ No newline at end of file
diff --git a/system_api/codereview.settings b/system_api/codereview.settings new file mode 100644 index 0000000..d7c8d39 --- /dev/null +++ b/system_api/codereview.settings
@@ -0,0 +1,4 @@ +# This file is used by gcl to get repository specific information. +GERRIT_HOST: chromium-review.googlesource.com +GERRIT_PORT: 29418 +CODE_REVIEW_SERVER: chromium-review.googlesource.com
diff --git a/system_api/constants/cryptohome.h b/system_api/constants/cryptohome.h new file mode 100644 index 0000000..8238aa9 --- /dev/null +++ b/system_api/constants/cryptohome.h
@@ -0,0 +1,17 @@ +// Copyright (c) 2013 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONSTANTS_CRYPTOHOME_H_ +#define CONSTANTS_CRYPTOHOME_H_ + +#include <stdint.h> + +namespace cryptohome { + +// Cleanup is trigerred if the amount of free disk space goes below this value. +const int64_t kMinFreeSpaceInBytes = 512 * 1LL << 20; + +} // namespace cryptohome + +#endif // CONSTANTS_CRYPTOHOME_H_
diff --git a/system_api/dbus/apmanager/dbus-constants.h b/system_api/dbus/apmanager/dbus-constants.h new file mode 100644 index 0000000..96d180d --- /dev/null +++ b/system_api/dbus/apmanager/dbus-constants.h
@@ -0,0 +1,62 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_APMANAGER_DBUS_CONSTANTS_H_ +#define SYSTEM_API_DBUS_APMANAGER_DBUS_CONSTANTS_H_ + +namespace apmanager { +const char kServiceName[] = "org.chromium.apmanager"; +const char kManagerInterface[] = "org.chromium.apmanager.Manager"; +const char kManagerPath[] = "/manager"; +const char kManagerError[] = "org.chromium.apmanager.Manager.Error"; +const char kServiceInterface[] = "org.chromium.apmanager.Service"; +const char kServiceError[] = "org.chromium.apmanager.Service.Error"; +const char kConfigInterface[] = "org.chromium.apmanager.Config"; +const char kConfigError[] = "org.chromium.apmanager.Config.Error"; +const char kClientInterface[] = "org.chromium.apmanager.Client"; +const char kDeviceInterface[] = "org.chromium.apmanager.Device"; + +// Manager Methods. +const char kCreateServiceMethod[] = "CreateService"; +const char kRemoveServiceMethod[] = "RemoveService"; + +// Config Properties. +const char kConfigSSIDProperty[] = "Ssid"; +const char kConfigInterfaceNameProperty[] = "InterfaceName"; +const char kConfigSecurityModeProperty[] = "SecurityMode"; +const char kConfigPassphraseProperty[] = "Passphrase"; +const char kConfigHwModeProperty[] = "HwMode"; +const char kConfigOperationModeProperty[] = "OperationMode"; +const char kConfigChannelProperty[] = "Channel"; +const char kConfigHiddenNetworkProperty[] = "HiddenNetwork"; +const char kConfigBridgeInterfaceProperty[] = "BridgeInterface"; +const char kConfigServerAddressIndexProperty[] = "ServerAddressIndex"; + +// Security modes. +const char kSecurityModeNone[] = "none"; +const char kSecurityModeRSN[] = "rsn"; + +// Hardware modes. +const char kHwMode80211a[] = "802.11a"; +const char kHwMode80211b[] = "802.11b"; +const char kHwMode80211g[] = "802.11g"; +const char kHwMode80211n[] = "802.11n"; +const char kHwMode80211ac[] = "802.11ac"; + +// Operation modes. +const char kOperationModeServer[] = "server"; +const char kOperationModeBridge[] = "bridge"; + +// D-Bus error codes. +const char kErrorInternalError[] = + "org.chromium.apmanager.Error.InternalError"; +const char kErrorInvalidArguments[] = + "org.chromium.apmanager.Error.InvalidArguments"; +const char kErrorInvalidConfiguration[] = + "org.chromium.apmanager.Error.InvalidConfiguration"; +const char kErrorSuccess[] = "org.chromium.apmanager.Error.Success"; + +} // namespace apmanager + +#endif // SYSTEM_API_DBUS_APMANAGER_DBUS_CONSTANTS_H_
diff --git a/system_api/dbus/cros-disks/dbus-constants.h b/system_api/dbus/cros-disks/dbus-constants.h new file mode 100644 index 0000000..c58af38 --- /dev/null +++ b/system_api/dbus/cros-disks/dbus-constants.h
@@ -0,0 +1,119 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_CROS_DISKS_DBUS_CONSTANTS_H_ +#define SYSTEM_API_DBUS_CROS_DISKS_DBUS_CONSTANTS_H_ + +namespace cros_disks { +const char kCrosDisksInterface[] = "org.chromium.CrosDisks"; +const char kCrosDisksServicePath[] = "/org/chromium/CrosDisks"; +const char kCrosDisksServiceName[] = "org.chromium.CrosDisks"; +const char kCrosDisksServiceError[] = "org.chromium.CrosDisks.Error"; + +// Methods. +const char kEnumerateAutoMountableDevices[] = "EnumerateAutoMountableDevices"; +const char kEnumerateMountEntries[] = "EnumerateMountEntries"; +const char kFormat[] = "Format"; +const char kGetDeviceProperties[] = "GetDeviceProperties"; +const char kMount[] = "Mount"; +const char kUnmount[] = "Unmount"; + +// Signals. +const char kDeviceAdded[] = "DeviceAdded"; +const char kDeviceScanned[] = "DeviceScanned"; +const char kDeviceRemoved[] = "DeviceRemoved"; +const char kDiskAdded[] = "DiskAdded"; +const char kDiskChanged[] = "DiskChanged"; +const char kDiskRemoved[] = "DiskRemoved"; +const char kFormatCompleted[] = "FormatCompleted"; +const char kMountCompleted[] = "MountCompleted"; + +// Properties. +// TODO(benchan): Rename 'DeviceIs*' property to 'DiskIs*' as the latter is more +// accurate. +const char kDeviceFile[] = "DeviceFile"; +const char kDeviceIsDrive[] = "DeviceIsDrive"; +const char kDeviceIsMediaAvailable[] = "DeviceIsMediaAvailable"; +const char kDeviceIsMounted[] = "DeviceIsMounted"; +const char kDeviceIsOnBootDevice[] = "DeviceIsOnBootDevice"; +const char kDeviceIsOnRemovableDevice[] = "DeviceIsOnRemovableDevice"; +const char kDeviceIsReadOnly[] = "DeviceIsReadOnly"; +const char kDeviceIsVirtual[] = "DeviceIsVirtual"; +const char kDeviceMediaType[] = "DeviceMediaType"; +const char kDeviceMountPaths[] = "DeviceMountPaths"; +const char kDevicePresentationHide[] = "DevicePresentationHide"; +const char kDeviceSize[] = "DeviceSize"; +const char kDriveIsRotational[] = "DriveIsRotational"; +const char kDriveModel[] = "DriveModel"; +const char kExperimentalFeaturesEnabled[] = "ExperimentalFeaturesEnabled"; +const char kIdLabel[] = "IdLabel"; +const char kIdUuid[] = "IdUuid"; +const char kVendorId[] = "VendorId"; +const char kVendorName[] = "VendorName"; +const char kProductId[] = "ProductId"; +const char kProductName[] = "ProductName"; +const char kNativePath[] = "NativePath"; + +// Enum values. +// DeviceMediaType enum values are reported through UMA. +// All values but DEVICE_MEDIA_NUM_VALUES should not be changed or removed. +// Additional values can be added but DEVICE_MEDIA_NUM_VALUES should always +// be the last value in the enum. +enum DeviceMediaType { + DEVICE_MEDIA_UNKNOWN = 0, + DEVICE_MEDIA_USB = 1, + DEVICE_MEDIA_SD = 2, + DEVICE_MEDIA_OPTICAL_DISC = 3, + DEVICE_MEDIA_MOBILE = 4, + DEVICE_MEDIA_DVD = 5, + DEVICE_MEDIA_NUM_VALUES, +}; + +enum FormatErrorType { + FORMAT_ERROR_NONE = 0, + FORMAT_ERROR_UNKNOWN = 1, + FORMAT_ERROR_INTERNAL = 2, + FORMAT_ERROR_INVALID_DEVICE_PATH = 3, + FORMAT_ERROR_DEVICE_BEING_FORMATTED = 4, + FORMAT_ERROR_UNSUPPORTED_FILESYSTEM = 5, + FORMAT_ERROR_FORMAT_PROGRAM_NOT_FOUND = 6, + FORMAT_ERROR_FORMAT_PROGRAM_FAILED = 7, + FORMAT_ERROR_DEVICE_NOT_ALLOWED = 8, +}; + +// TODO(benchan): After both Chrome and cros-disks use these enum values, +// make these error values contiguous so that they can be directly reported +// via UMA. +enum MountErrorType { + MOUNT_ERROR_NONE = 0, + MOUNT_ERROR_UNKNOWN = 1, + MOUNT_ERROR_INTERNAL = 2, + MOUNT_ERROR_INVALID_ARGUMENT = 3, + MOUNT_ERROR_INVALID_PATH = 4, + MOUNT_ERROR_PATH_ALREADY_MOUNTED = 5, + MOUNT_ERROR_PATH_NOT_MOUNTED = 6, + MOUNT_ERROR_DIRECTORY_CREATION_FAILED = 7, + MOUNT_ERROR_INVALID_MOUNT_OPTIONS = 8, + MOUNT_ERROR_INVALID_UNMOUNT_OPTIONS = 9, + MOUNT_ERROR_INSUFFICIENT_PERMISSIONS = 10, + MOUNT_ERROR_MOUNT_PROGRAM_NOT_FOUND = 11, + MOUNT_ERROR_MOUNT_PROGRAM_FAILED = 12, + MOUNT_ERROR_INVALID_DEVICE_PATH = 100, + MOUNT_ERROR_UNKNOWN_FILESYSTEM = 101, + MOUNT_ERROR_UNSUPPORTED_FILESYSTEM = 102, + MOUNT_ERROR_INVALID_ARCHIVE = 201, + MOUNT_ERROR_UNSUPPORTED_ARCHIVE = 202, +}; + +// MountSourceType enum values are solely used by Chrome/CrosDisks in +// the MountCompleted signal, and currently not reported through UMA. +enum MountSourceType { + MOUNT_SOURCE_INVALID = 0, + MOUNT_SOURCE_REMOVABLE_DEVICE = 1, + MOUNT_SOURCE_ARCHIVE = 2, + MOUNT_SOURCE_NETWORK_STORAGE = 3, +}; +} // namespace cros_disks + +#endif // SYSTEM_API_DBUS_CROS_DISKS_DBUS_CONSTANTS_H_
diff --git a/system_api/dbus/cryptohome/dbus-constants.h b/system_api/dbus/cryptohome/dbus-constants.h new file mode 100644 index 0000000..fcaa99b --- /dev/null +++ b/system_api/dbus/cryptohome/dbus-constants.h
@@ -0,0 +1,146 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_CRYPTOHOME_DBUS_CONSTANTS_H_ +#define SYSTEM_API_DBUS_CRYPTOHOME_DBUS_CONSTANTS_H_ + +namespace cryptohome { +const char kCryptohomeInterface[] = "org.chromium.CryptohomeInterface"; +const char kCryptohomeServicePath[] = "/org/chromium/Cryptohome"; +const char kCryptohomeServiceName[] = "org.chromium.Cryptohome"; +// Methods +const char kCryptohomeAsyncAddKey[] = "AsyncAddKey"; +const char kCryptohomeCheckKey[] = "CheckKey"; +const char kCryptohomeMigrateKey[] = "MigrateKey"; +const char kCryptohomeRemove[] = "Remove"; +const char kCryptohomeGetSystemSalt[] = "GetSystemSalt"; +const char kCryptohomeGetSanitizedUsername[] = "GetSanitizedUsername"; +const char kCryptohomeIsMounted[] = "IsMounted"; +const char kCryptohomeMount[] = "Mount"; +const char kCryptohomeMountGuest[] = "MountGuest"; +const char kCryptohomeMountPublic[] = "MountPublic"; +const char kCryptohomeUnmount[] = "Unmount"; +const char kCryptohomeTpmIsReady[] = "TpmIsReady"; +const char kCryptohomeTpmIsEnabled[] = "TpmIsEnabled"; +const char kCryptohomeTpmIsOwned[] = "TpmIsOwned"; +const char kCryptohomeTpmIsBeingOwned[] = "TpmIsBeingOwned"; +const char kCryptohomeTpmGetPassword[] = "TpmGetPassword"; +const char kCryptohomeTpmCanAttemptOwnership[] = "TpmCanAttemptOwnership"; +const char kCryptohomeTpmClearStoredPassword[] = "TpmClearStoredPassword"; +const char kCryptohomePkcs11GetTpmTokenInfo[] = "Pkcs11GetTpmTokenInfo"; +const char kCryptohomePkcs11GetTpmTokenInfoForUser[] = + "Pkcs11GetTpmTokenInfoForUser"; +const char kCryptohomePkcs11IsTpmTokenReady[] = "Pkcs11IsTpmTokenReady"; +const char kCryptohomePkcs11IsTpmTokenReadyForUser[] = + "Pkcs11IsTpmTokenReadyForUser"; +const char kCryptohomeAsyncCheckKey[] = "AsyncCheckKey"; +const char kCryptohomeAsyncMigrateKey[] = "AsyncMigrateKey"; +const char kCryptohomeAsyncMount[] = "AsyncMount"; +const char kCryptohomeAsyncMountGuest[] = "AsyncMountGuest"; +const char kCryptohomeAsyncMountPublic[] = "AsyncMountPublic"; +const char kCryptohomeAsyncRemove[] = "AsyncRemove"; +const char kCryptohomeGetStatusString[] = "GetStatusString"; +const char kCryptohomeRemoveTrackedSubdirectories[] = + "RemoveTrackedSubdirectories"; +const char kCryptohomeAsyncRemoveTrackedSubdirectories[] = + "AsyncRemoveTrackedSubdirectories"; +const char kCryptohomeDoAutomaticFreeDiskSpaceControl[] = + "DoAutomaticFreeDiskSpaceControl"; +const char kCryptohomeAsyncDoAutomaticFreeDiskSpaceControl[] = + "AsyncDoAutomaticFreeDiskSpaceControl"; +const char kCryptohomeAsyncDoesUsersExist[] = "AsyncDoesUsersExist"; +const char kCryptohomeInstallAttributesGet[] = "InstallAttributesGet"; +const char kCryptohomeInstallAttributesSet[] = "InstallAttributesSet"; +const char kCryptohomeInstallAttributesCount[] = "InstallAttributesCount"; +const char kCryptohomeInstallAttributesFinalize[] = + "InstallAttributesFinalize"; +const char kCryptohomeInstallAttributesIsReady[] = "InstallAttributesIsReady"; +const char kCryptohomeInstallAttributesIsSecure[] = + "InstallAttributesIsSecure"; +const char kCryptohomeInstallAttributesIsInvalid[] = + "InstallAttributesIsInvalid"; +const char kCryptohomeInstallAttributesIsFirstInstall[] = + "InstallAttributesIsFirstInstall"; +const char kCryptohomeStoreEnrollmentState[] = + "StoreEnrollmentState"; +const char kCryptohomeLoadEnrollmentState[] = + "LoadEnrollmentState"; +const char kCryptohomeTpmIsAttestationPrepared[] = "TpmIsAttestationPrepared"; +const char kCryptohomeTpmIsAttestationEnrolled[] = "TpmIsAttestationEnrolled"; +const char kCryptohomeAsyncTpmAttestationCreateEnrollRequest[] = + "AsyncTpmAttestationCreateEnrollRequest"; +const char kCryptohomeAsyncTpmAttestationCreateEnrollRequestNew[] = + "AsyncTpmAttestationCreateEnrollRequestNew"; +const char kCryptohomeAsyncTpmAttestationEnroll[] = "AsyncTpmAttestationEnroll"; +const char kCryptohomeAsyncTpmAttestationEnrollNew[] = + "AsyncTpmAttestationEnrollNew"; +const char kCryptohomeAsyncTpmAttestationCreateCertRequest[] = + "AsyncTpmAttestationCreateCertRequest"; +const char kCryptohomeAsyncTpmAttestationCreateCertRequestByProfile[] = + "AsyncTpmAttestationCreateCertRequestByProfile"; +const char kCryptohomeAsyncTpmAttestationFinishCertRequest[] = + "AsyncTpmAttestationFinishCertRequest"; +const char kCryptohomeTpmAttestationDoesKeyExist[] = + "TpmAttestationDoesKeyExist"; +const char kCryptohomeTpmAttestationGetCertificate[] = + "TpmAttestationGetCertificate"; +const char kCryptohomeTpmAttestationGetPublicKey[] = + "TpmAttestationGetPublicKey"; +const char kCryptohomeTpmAttestationRegisterKey[] = "TpmAttestationRegisterKey"; +const char kCryptohomeTpmAttestationSignEnterpriseChallenge[] = + "TpmAttestationSignEnterpriseChallenge"; +const char kCryptohomeTpmAttestationSignSimpleChallenge[] = + "TpmAttestationSignSimpleChallenge"; +const char kCryptohomeTpmAttestationGetKeyPayload[] = + "TpmAttestationGetKeyPayload"; +const char kCryptohomeTpmAttestationSetKeyPayload[] = + "TpmAttestationSetKeyPayload"; +const char kCryptohomeTpmAttestationDeleteKeys[] = + "TpmAttestationDeleteKeys"; +const char kCryptohomeGetKeyDataEx[] = "GetKeyDataEx"; +const char kCryptohomeCheckKeyEx[] = "CheckKeyEx"; +const char kCryptohomeMountEx[] = "MountEx"; +const char kCryptohomeAddKeyEx[] = "AddKeyEx"; +const char kCryptohomeUpdateKeyEx[] = "UpdateKeyEx"; +const char kCryptohomeRemoveKeyEx[] = "RemoveKeyEx"; +const char kCryptohomeSignBootLockbox[] = "SignBootLockbox"; +const char kCryptohomeVerifyBootLockbox[] = "VerifyBootLockbox"; +const char kCryptohomeFinalizeBootLockbox[] = "FinalizeBootLockbox"; +const char kCryptohomeGetBootAttribute[] = "GetBootAttribute"; +const char kCryptohomeSetBootAttribute[] = "SetBootAttribute"; +const char kCryptohomeFlushAndSignBootAttributes[] = + "FlushAndSignBootAttributes"; +const char kCryptohomeGetLoginStatus[] = "GetLoginStatus"; +const char kCryptohomeGetTpmStatus[] = "GetTpmStatus"; +const char kCryptohomeGetEndorsementInfo[] = "GetEndorsementInfo"; +const char kCryptohomeRenameCryptohome[] = "RenameCryptohome"; +const char kCryptohomeGetAccountDiskUsage[] = "GetAccountDiskUsage"; +const char kCryptohomeGetFirmwareManagementParameters[] = + "GetFirmwareManagementParameters"; +const char kCryptohomeSetFirmwareManagementParameters[] = + "SetFirmwareManagementParameters"; +const char kCryptohomeRemoveFirmwareManagementParameters[] = + "RemoveFirmwareManagementParameters"; + +// Signals +const char kSignalAsyncCallStatus[] = "AsyncCallStatus"; +const char kSignalAsyncCallStatusWithData[] = "AsyncCallStatusWithData"; +const char kSignalTpmInitStatus[] = "TpmInitStatus"; +const char kSignalCleanupUsersRemoved[] = "CleanupUsersRemoved"; +const char kSignalLowDiskSpace[] = "LowDiskSpace"; +// Error code +enum MountError { + MOUNT_ERROR_NONE = 0, + MOUNT_ERROR_FATAL = 1 << 0, + MOUNT_ERROR_KEY_FAILURE = 1 << 1, + MOUNT_ERROR_MOUNT_POINT_BUSY = 1 << 2, + MOUNT_ERROR_TPM_COMM_ERROR = 1 << 3, + MOUNT_ERROR_TPM_DEFEND_LOCK = 1 << 4, + MOUNT_ERROR_USER_DOES_NOT_EXIST = 1 << 5, + MOUNT_ERROR_TPM_NEEDS_REBOOT = 1 << 6, + MOUNT_ERROR_RECREATED = 1 << 31, +}; +} // namespace cryptohome + +#endif // SYSTEM_API_DBUS_CRYPTOHOME_DBUS_CONSTANTS_H_
diff --git a/system_api/dbus/cryptohome/key.proto b/system_api/dbus/cryptohome/key.proto new file mode 100644 index 0000000..fb95b48 --- /dev/null +++ b/system_api/dbus/cryptohome/key.proto
@@ -0,0 +1,97 @@ +// Copyright (c) 2014 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. +// +// Provides wire-type for cryptohome Key objects. It does not +// represent the entirety of the bookkeeping data needed by Cryptohome. +// +// Anything in this file may be persisted on disk. Update carefully! + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +package cryptohome; + +message KeyAuthorizationSecretUsage { + optional bool encrypt = 1; + optional bool sign = 2; +} + +message KeyAuthorizationSecret { + optional KeyAuthorizationSecretUsage usage = 1; + optional bytes symmetric_key = 2; + optional bytes public_key = 3; + // Indicates if the symmetric_key is wrapped. + optional bool wrapped = 4 [default=false]; +} + +message KeyAuthorizationData { + enum KeyAuthorizationType { + KEY_AUTHORIZATION_TYPE_HMACSHA256 = 0; + KEY_AUTHORIZATION_TYPE_AES256CBC_HMACSHA256 = 1; + } + optional KeyAuthorizationType type = 1; + repeated KeyAuthorizationSecret secrets = 2; +} + +// Software-enforced privileges. +message KeyPrivileges { + // Allows the key to mount the cryptohome. + optional bool mount = 1 [default=true]; + // Allows new keys to be added. + optional bool add = 2 [default=true]; + // Allows other existing keys to be removed. + optional bool remove = 3 [default=true]; + // Allows the key to update itself. + optional bool update = 4 [default=true]; + // Allows a key to update itself iff the requested change + // is authorized as per KeyAuthorizationData. + optional bool authorized_update = 5 [default=false]; +} + +// Public metadata stored on behalf of the KeyProvider. +message KeyProviderData { + message Entry { + optional string name = 1; + optional int64 number = 2; + optional bytes bytes = 3; + } + repeated Entry entry = 1; +} + +message KeyData { + // The KeyType should specify the handling needed by Cryptohome + // and not a provider KeyType. + enum KeyType { + KEY_TYPE_PASSWORD = 0; + } + optional KeyType type = 1; + // All keys must be labeled when persisted to disk, but when KeyData + // is used in an UpdateKeyRequest, only defined fields are necessary + // (so that the caller doesn't need the full KeyData first). + optional string label = 2; + // If undefined, use the default settings. + optional KeyPrivileges privileges = 3; + optional int64 revision = 4; + // At present, only support for one authorization mechanism is implemented. + repeated KeyAuthorizationData authorization_data = 5; + // Data stored for use by the provider of the key, often for pre-processing + // of passwords or custom provider key typing. + // This will be size-limited by serialized size (e.g., 4096 bytes). + optional KeyProviderData provider_data = 6; +} + +// Key is not presently persisted to disk, but it acts as the single authority +// for what comprises a key. +message Key { + // In most cases, |data| is required. When used in an UpdateKeyRequest, it + // is only required if KeyData is changing. If only the |secret| is changing, + // this field may be left unset. + optional KeyData data = 1; + // |secret| is required for many requests, like AddKeyRequest, but not all. + // An UpdateKeyRequest only requires the changes to the Key that was + // was authorized in the AuthorizationRequest. Making |secret| required would + // logically force a key rotation even if the values were the same. + optional bytes secret = 2; +}
diff --git a/system_api/dbus/cryptohome/rpc.proto b/system_api/dbus/cryptohome/rpc.proto new file mode 100644 index 0000000..84fb203 --- /dev/null +++ b/system_api/dbus/cryptohome/rpc.proto
@@ -0,0 +1,325 @@ +// Copyright (c) 2014 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. +// +// The messages in this file comprise the DBus/Proto interface for +// Cryptohome where there is an AccountIdentifer argument, an +// AuthorizationRequest (if needed for the call), and the call's +// parameters as <Call>Request. +// +// 'optional' annotations are used heavily in the RPC definition +// because the RPC endpoints most properly sanity check the contents +// for application-specific logic, and the more optional-with-default +// parameters exist, the less data is actually transferred on the wire +// in "default" situations. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +package cryptohome; + +import "key.proto"; + +// Error codes do not need to be sequential per-call. +// Prefixes by Request/Reply type should be used to help +// callers know if specialized errors apply. +enum CryptohomeErrorCode { + // 0 is the default value of BaseReply::error. It + // should never be used. + CRYPTOHOME_ERROR_NOT_SET = 0; + + CRYPTOHOME_ERROR_ACCOUNT_NOT_FOUND = 1; + CRYPTOHOME_ERROR_AUTHORIZATION_KEY_NOT_FOUND = 2; + CRYPTOHOME_ERROR_AUTHORIZATION_KEY_FAILED = 3; + CRYPTOHOME_ERROR_NOT_IMPLEMENTED = 4; + CRYPTOHOME_ERROR_MOUNT_FATAL = 5; + CRYPTOHOME_ERROR_MOUNT_MOUNT_POINT_BUSY = 6; + CRYPTOHOME_ERROR_TPM_COMM_ERROR = 7; + CRYPTOHOME_ERROR_TPM_DEFEND_LOCK = 8; + CRYPTOHOME_ERROR_TPM_NEEDS_REBOOT = 9; + CRYPTOHOME_ERROR_AUTHORIZATION_KEY_DENIED = 10; + CRYPTOHOME_ERROR_KEY_QUOTA_EXCEEDED = 11; + CRYPTOHOME_ERROR_KEY_LABEL_EXISTS = 12; + CRYPTOHOME_ERROR_BACKING_STORE_FAILURE = 13; + CRYPTOHOME_ERROR_UPDATE_SIGNATURE_INVALID = 14; + CRYPTOHOME_ERROR_KEY_NOT_FOUND = 15; + CRYPTOHOME_ERROR_LOCKBOX_SIGNATURE_INVALID = 16; + CRYPTOHOME_ERROR_LOCKBOX_CANNOT_SIGN = 17; + CRYPTOHOME_ERROR_BOOT_ATTRIBUTE_NOT_FOUND = 18; + CRYPTOHOME_ERROR_BOOT_ATTRIBUTES_CANNOT_SIGN = 19; + CRYPTOHOME_ERROR_TPM_EK_NOT_AVAILABLE = 20; + CRYPTOHOME_ERROR_ATTESTATION_NOT_READY = 21; + CRYPTOHOME_ERROR_CANNOT_CONNECT_TO_CA = 22; + CRYPTOHOME_ERROR_CA_REFUSED_ENROLLMENT = 23; + CRYPTOHOME_ERROR_CA_REFUSED_CERTIFICATE = 24; + CRYPTOHOME_ERROR_INTERNAL_ATTESTATION_ERROR = 25; + CRYPTOHOME_ERROR_FIRMWARE_MANAGEMENT_PARAMETERS_INVALID = 26; + CRYPTOHOME_ERROR_FIRMWARE_MANAGEMENT_PARAMETERS_CANNOT_STORE = 27; + CRYPTOHOME_ERROR_FIRMWARE_MANAGEMENT_PARAMETERS_CANNOT_REMOVE = 28; +} + +message AccountIdentifier { + // |email| is deprecated. Don't use it. + optional string email = 1; + + optional string account_id = 2; +} + +message AuthorizationRequest { + // |key| must supply at least a |key.secret()|. If no |key.data()| or + // |key.data().label()| is supplied, the |key.secret()| will be tested + // against all compatible |key.data().type()| keys, where + // KEY_TYPE_PASSWORD is the default type. If + // |key.data().label()| is supplied, then the |key.secret()| will only be + // tested against the matching VaultKeyset. + optional Key key = 1; +}; + +// These parameters are for inbound data to Cryptohome RPC +// interfaces. When calls are added that return data, a +// <Call>Response should be defined. +message MountRequest { + // Perform an ephemeral mount only. + optional bool require_ephemeral = 1 [default=false]; + // If defined, the account will be created if it does not exist. + // Additionally, a failed AuthorizationRequest will be expected as + // there will be no existing keys. + optional CreateRequest create = 2; +} + +// A BaseReply type is used for all cryptohomed responses. A shared base class +// is used because all calls will always reply with no-error or an error value. +// A centralized definition allows for a reusable reply handler for cases where +// there is no Request-specific reply data. Any specialized data will live in +// an extension as per MountReply below: +// if (reply.HasExtension(MountReply::reply)) { ... } +// +message BaseReply { + // If a call was successful, error will not be defined (clear_error()). + // If a call failed, it must set an error code (set_error(CODE)). + // In either case, call-specific data may be added as an extension. + optional CryptohomeErrorCode error = 1; + + extensions 1000 to max; +} + +// The MountRequest call may return more than just success or failure +// so it embeds itself in a BaseReply as an extension. +message MountReply { + extend BaseReply { + optional MountReply reply = 1000; + } + // |recreated| is set when the cryptohome had to be wiped + // because the key or data was an unrecoverable. It does not imply + // failure to Mount nor is it 'true' when a CreateRequest creates + // a cryptohome for the first time. + optional bool recreated = 1 [default=false]; + // Returns the filesystem-sanitized username. + optional string sanitized_username = 2; +}; + +message CreateRequest { + repeated Key keys = 1; + // Explicitly use the |key| from the AuthorizationRequest. + // Setting this value means that the KeyData is filled as it + // would be with a Key above or in an AddKeyRequest. + optional bool copy_authorization_key = 2 [default=false]; + // In the future, this will contain account-wide data like + // the deletion priority or the IdP's origin. +} + +message AddKeyRequest { + optional Key key = 1; + optional bool clobber_if_exists = 2 [default=false]; +} + +message UpdateKeyRequest { + optional Key changes = 1; + optional bytes authorization_signature = 2; +} + +message CheckKeyRequest { +} + +message RemoveKeyRequest { + // Only key.data().label() is used at present. + optional Key key = 1; +} + +message SignBootLockboxRequest { + // The data to be signed. + optional bytes data = 1; +} + +message SignBootLockboxReply { + extend BaseReply { + optional SignBootLockboxReply reply = 1001; + } + optional bytes signature = 1; +} + +message VerifyBootLockboxRequest { + // The signed data to be verified. + optional bytes data = 1; + // The signature to be verified. + optional bytes signature = 2; +} + +message FinalizeBootLockboxRequest { +} + +message GetKeyDataRequest { + // |key| must supply at least one attribute and all others will be treated as + // wildcards. Currently only |key.data().label()| may be supplied. Like + // AuthorizationRequest, support can be added for queries by + // |key.data().type()| to return all keys of a certain class, testing + // |key.secret()|, or |key.data().provider_data()| entries. + optional Key key = 1; +} + +message GetKeyDataReply { + extend BaseReply { + optional GetKeyDataReply reply = 1002; + } + repeated KeyData key_data = 1; +} + +message GetBootAttributeRequest { + optional string name = 1; +} + +message GetBootAttributeReply { + extend BaseReply { + optional GetBootAttributeReply reply = 1003; + } + optional bytes value = 1; +} + +message SetBootAttributeRequest { + optional string name = 1; + optional bytes value = 2; +} + +message FlushAndSignBootAttributesRequest { +} + +message ListKeysRequest { + // The default behavior is by label so any extension here should honor that. +} + +message ListKeysReply { + extend BaseReply { + optional ListKeysReply reply = 1004; + } + repeated string labels = 1; +} + +message GetLoginStatusRequest { +} + +message GetLoginStatusReply { + extend BaseReply { + optional GetLoginStatusReply reply = 1005; + } + optional bool owner_user_exists=1; + optional bool boot_lockbox_finalized=2; +} + +message GetTpmStatusRequest { +} + +message GetTpmStatusReply { + extend BaseReply { + optional GetTpmStatusReply reply = 1006; + } + // Whether a TPM is enabled on the system. + optional bool enabled = 1; + // Whether the TPM has been owned. + optional bool owned = 2; + // Whether the TPM initialization flow has completed. This includes taking + // ownership, preparing attestation data, and finalizing lockbox NVRAM. + optional bool initialized = 3; + // The TPM owner password. This is only available when (owned && + // !initialized) and sometimes not even then. + optional string owner_password = 4; + // Whether attestation data has been prepared. This includes reading the + // endorsement certificate out of NVRAM and generating an identity key. This + // does not include any kind of enrollment with a Privacy CA. + optional bool attestation_prepared = 7; + // Whether the device has enrolled with a Privacy CA. This means the identity + // key has been successfully certified. + optional bool attestation_enrolled = 8; + // The current dictionary attack counter value. + optional int32 dictionary_attack_counter = 9; + // The current dictionary attack counter threshold. + optional int32 dictionary_attack_threshold = 10; + // Whether the TPM is in some form of dictionary attack lockout. + optional bool dictionary_attack_lockout_in_effect = 11; + // The number of seconds remaining in the lockout. + optional int32 dictionary_attack_lockout_seconds_remaining = 12; + // Whether the install lockbox has been finalized. + optional bool install_lockbox_finalized = 13; + // Whether the boot lockbox has been finalized. + optional bool boot_lockbox_finalized = 14; + // Whether the current PCR values show a verified boot. + optional bool verified_boot_measured = 15; +} + +message GetEndorsementInfoRequest { +} + +message GetEndorsementInfoReply { + extend BaseReply { + optional GetEndorsementInfoReply reply = 1007; + } + // The endorsement public key (PKCS #1 RSAPublicKey). + optional bytes ek_public_key = 1; + // The endorsement certificate (X.509). + optional bytes ek_certificate = 2; +} + +message InitializeCastKeyRequest { +} + +// Flags for GetFirmwareManagementParametersReply and +// SetFirmwareManagementParametersRequest +enum FirmwareManagementParametersFlags { + NONE = 0; + DEVELOPER_DISABLE_BOOT = 1; + DEVELOPER_DISABLE_RECOVERY_INSTALL = 2; + DEVELOPER_DISABLE_RECOVERY_ROOTFS = 4; + DEVELOPER_ENABLE_USB = 8; + DEVELOPER_ENABLE_LEGACY = 16; + DEVELOPER_USE_KEY_HASH = 32; +} + +message GetFirmwareManagementParametersRequest { +} + +message GetFirmwareManagementParametersReply { + extend BaseReply { + optional GetFirmwareManagementParametersReply reply = 1008; + } + + // Flags (zero or more from FirmwareManagementParametersFlags) + optional int32 flags = 1; + optional bytes developer_key_hash = 2; +} + +message SetFirmwareManagementParametersRequest { + // Flags (zero or more from FirmwareManagementParametersFlags) + optional int32 flags = 1; + optional bytes developer_key_hash = 2; +} + +message RemoveFirmwareManagementParametersRequest { +} + +message GetAccountDiskUsageReply { + extend BaseReply { + optional GetAccountDiskUsageReply reply = 1009; + } + // The size of cryptohome in bytes. + optional int64 size = 1; +}
diff --git a/system_api/dbus/cryptohome/signed_secret.proto b/system_api/dbus/cryptohome/signed_secret.proto new file mode 100644 index 0000000..16fedab --- /dev/null +++ b/system_api/dbus/cryptohome/signed_secret.proto
@@ -0,0 +1,34 @@ +// Copyright (c) 2014 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. +// +// Provides wire protocol for signed password changes from +// the cloud for Chrome OS accounts subject to remote management. +// +// The data in this file will be shared in Chrome, Chrome OS (cryptohome), +// and on servers. Ensure all parties are aware when making changes. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +package ac.chrome.managedaccounts.account; + +// The secret currently assumes a password-equivalent key and a +// revision, to avoid rollbacks. This secret should be serialized +// and signed by a pre-negotiated key to authorize updates from the +// server to the host OS. +message Secret { + optional int64 revision = 1; + optional bytes secret = 2; + // In the future, a type field will be added to allow encrypted secrets + // and different secret types. +} + +// This is an example format if this were sent on the wire. +// It is assumed that neither Secret or SignedSecret will ever be sent +// on the wire, but only reconstructed from source data. +message SignedSecret { + optional bytes serialized_secret = 1; + optional bytes signature = 2; +}
diff --git a/system_api/dbus/debugd/dbus-constants.h b/system_api/dbus/debugd/dbus-constants.h new file mode 100644 index 0000000..514ab69 --- /dev/null +++ b/system_api/dbus/debugd/dbus-constants.h
@@ -0,0 +1,57 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_DEBUGD_DBUS_CONSTANTS_H_ +#define SYSTEM_API_DBUS_DEBUGD_DBUS_CONSTANTS_H_ + +namespace debugd { +const char kDebugdInterface[] = "org.chromium.debugd"; +const char kDebugdServicePath[] = "/org/chromium/debugd"; +const char kDebugdServiceName[] = "org.chromium.debugd"; + +// Methods. +const char kDumpDebugLogs[] = "DumpDebugLogs"; +const char kGetDebugLogs[] = "GetDebugLogs"; +const char kGetInterfaces[] = "GetInterfaces"; +const char kGetModemStatus[] = "GetModemStatus"; +const char kGetNetworkStatus[] = "GetNetworkStatus"; +const char kGetPerfOutput[] = "GetPerfOutput"; +const char kGetPerfOutputFd[] = "GetPerfOutputFd"; +const char kGetRoutes[] = "GetRoutes"; +const char kGetWiMaxStatus[] = "GetWiMaxStatus"; +const char kSetDebugMode[] = "SetDebugMode"; +const char kSystraceStart[] = "SystraceStart"; +const char kSystraceStop[] = "SystraceStop"; +const char kSystraceStatus[] = "SystraceStatus"; +const char kGetLog[] = "GetLog"; +const char kGetAllLogs[] = "GetAllLogs"; +const char kGetUserLogFiles[] = "GetUserLogFiles"; +const char kGetFeedbackLogs[] = "GetFeedbackLogs"; +const char kGetBigFeedbackLogs[] = "GetBigFeedbackLogs"; +const char kTestICMP[] = "TestICMP"; +const char kTestICMPWithOptions[] = "TestICMPWithOptions"; +const char kLogKernelTaskStates[] = "LogKernelTaskStates"; +const char kUploadCrashes[] = "UploadCrashes"; +const char kRemoveRootfsVerification[] = "RemoveRootfsVerification"; +const char kEnableChromeRemoteDebugging[] = "EnableChromeRemoteDebugging"; +const char kEnableBootFromUsb[] = "EnableBootFromUsb"; +const char kConfigureSshServer[] = "ConfigureSshServer"; +const char kSetUserPassword[] = "SetUserPassword"; +const char kEnableChromeDevFeatures[] = "EnableChromeDevFeatures"; +const char kQueryDevFeatures[] = "QueryDevFeatures"; +const char kSetOomScoreAdj[] = "SetOomScoreAdj"; + +// Values. +enum DevFeatureFlag { + DEV_FEATURES_DISABLED = 1 << 0, + DEV_FEATURE_ROOTFS_VERIFICATION_REMOVED = 1 << 1, + DEV_FEATURE_BOOT_FROM_USB_ENABLED = 1 << 2, + DEV_FEATURE_SSH_SERVER_CONFIGURED = 1 << 3, + DEV_FEATURE_DEV_MODE_ROOT_PASSWORD_SET = 1 << 4, + DEV_FEATURE_SYSTEM_ROOT_PASSWORD_SET = 1 << 5, + DEV_FEATURE_CHROME_REMOTE_DEBUGGING_ENABLED = 1 << 6, +}; +} // namespace debugd + +#endif // SYSTEM_API_DBUS_DEBUGD_DBUS_CONSTANTS_H_
diff --git a/system_api/dbus/field_trial_list.proto b/system_api/dbus/field_trial_list.proto new file mode 100644 index 0000000..5558308 --- /dev/null +++ b/system_api/dbus/field_trial_list.proto
@@ -0,0 +1,20 @@ +// Copyright (c) 2013 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +// This protobuf is for serializing Finch experimental field trial data to +// disk for consumption by processes outside the browser. +message FieldTrialList { + // A pair representing a Field Trial and its selected group. + message ActiveGroup { + optional string trial_name = 1; + optional string group_name = 2; + } + + // All the active field trial groups for this device. + repeated ActiveGroup group = 1; +}
diff --git a/system_api/dbus/login_manager/dbus-constants.h b/system_api/dbus/login_manager/dbus-constants.h new file mode 100644 index 0000000..5dc7a07 --- /dev/null +++ b/system_api/dbus/login_manager/dbus-constants.h
@@ -0,0 +1,61 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_LOGIN_MANAGER_DBUS_CONSTANTS_H_ +#define SYSTEM_API_DBUS_LOGIN_MANAGER_DBUS_CONSTANTS_H_ + +namespace login_manager { +const char kSessionManagerInterface[] = "org.chromium.SessionManagerInterface"; +const char kSessionManagerServicePath[] = "/org/chromium/SessionManager"; +const char kSessionManagerServiceName[] = "org.chromium.SessionManager"; +// Methods +const char kSessionManagerEmitLoginPromptVisible[] = "EmitLoginPromptVisible"; +const char kSessionManagerStartSession[] = "StartSession"; +const char kSessionManagerStopSession[] = "StopSession"; +const char kSessionManagerRestartJob[] = "RestartJob"; +const char kSessionManagerStorePolicy[] = "StorePolicy"; +const char kSessionManagerRetrievePolicy[] = "RetrievePolicy"; +const char kSessionManagerStorePolicyForUser[] = "StorePolicyForUser"; +const char kSessionManagerRetrievePolicyForUser[] = "RetrievePolicyForUser"; +const char kSessionManagerStoreDeviceLocalAccountPolicy[] = + "StoreDeviceLocalAccountPolicy"; +const char kSessionManagerRetrieveDeviceLocalAccountPolicy[] = + "RetrieveDeviceLocalAccountPolicy"; +const char kSessionManagerRetrieveSessionState[] = "RetrieveSessionState"; +const char kSessionManagerRetrieveActiveSessions[] = "RetrieveActiveSessions"; +const char kSessionManagerStartDeviceWipe[] = "StartDeviceWipe"; +const char kSessionManagerHandleSupervisedUserCreationStarting[] = + "HandleSupervisedUserCreationStarting"; +const char kSessionManagerHandleSupervisedUserCreationFinished[] = + "HandleSupervisedUserCreationFinished"; +const char kSessionManagerLockScreen[] = "LockScreen"; +const char kSessionManagerHandleLockScreenShown[] = "HandleLockScreenShown"; +const char kSessionManagerHandleLockScreenDismissed[] = + "HandleLockScreenDismissed"; +const char kSessionManagerSetFlagsForUser[] = "SetFlagsForUser"; +const char kSessionManagerGetServerBackedStateKeys[] = + "GetServerBackedStateKeys"; +const char kSessionManagerInitMachineInfo[] = "InitMachineInfo"; +const char kSessionManagerCheckArcAvailability[] = "CheckArcAvailability"; +const char kSessionManagerStartArcInstance[] = "StartArcInstance"; +const char kSessionManagerStopArcInstance[] = "StopArcInstance"; +const char kSessionManagerGetArcStartTimeTicks[] = "GetArcStartTimeTicks"; +const char kSessionManagerRemoveArcData[] = "RemoveArcData"; +const char kSessionManagerStartContainer[] = "StartContainer"; +const char kSessionManagerStopContainer[] = "StopContainer"; +// Signals +const char kLoginPromptVisibleSignal[] = "LoginPromptVisible"; +const char kSessionStateChangedSignal[] = "SessionStateChanged"; +// ScreenLock signals. +const char kScreenIsLockedSignal[] = "ScreenIsLocked"; +const char kScreenIsUnlockedSignal[] = "ScreenIsUnlocked"; +// Ownership API signals. +const char kOwnerKeySetSignal[] = "SetOwnerKeyComplete"; +const char kPropertyChangeCompleteSignal[] = "PropertyChangeComplete"; +// ARC instance signals. +const char kArcInstanceStopped[] = "ArcInstanceStopped"; +const char kArcInstanceRebooted[] = "ArcInstanceRebooted"; +} // namespace login_manager + +#endif // SYSTEM_API_DBUS_LOGIN_MANAGER_DBUS_CONSTANTS_H_
diff --git a/system_api/dbus/lorgnette/dbus-constants.h b/system_api/dbus/lorgnette/dbus-constants.h new file mode 100644 index 0000000..ac2e8ac --- /dev/null +++ b/system_api/dbus/lorgnette/dbus-constants.h
@@ -0,0 +1,31 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_LORGNETTE_DBUS_CONSTANTS_H_ +#define SYSTEM_API_DBUS_LORGNETTE_DBUS_CONSTANTS_H_ + +namespace lorgnette { +const char kManagerServiceName[] = "org.chromium.lorgnette"; +const char kManagerServiceInterface[] = "org.chromium.lorgnette.Manager"; +const char kManagerServicePath[] = "/org/chromium/lorgnette/Manager"; +const char kManagerServiceError[] = "org.chromium.lorgnette.Error"; + +// Methods. +const char kListScannersMethod[] = "ListScanners"; +const char kScanImageMethod[] = "ScanImage"; + +// Attributes of scanners returned from "ListScanners". +const char kScannerPropertyManufacturer[] = "Manufacturer"; +const char kScannerPropertyModel[] = "Model"; +const char kScannerPropertyType[] = "Type"; + +// Parameters supplied to a "ScanImage" request. +const char kScanPropertyMode[] = "Mode"; +const char kScanPropertyModeColor[] = "Color"; +const char kScanPropertyModeGray[] = "Gray"; +const char kScanPropertyModeLineart[] = "Lineart"; +const char kScanPropertyResolution[] = "Resolution"; +} // namespace lorgnette + +#endif // SYSTEM_API_DBUS_LORGNETTE_DBUS_CONSTANTS_H_
diff --git a/system_api/dbus/mtp_file_entry.proto b/system_api/dbus/mtp_file_entry.proto new file mode 100644 index 0000000..943498b --- /dev/null +++ b/system_api/dbus/mtp_file_entry.proto
@@ -0,0 +1,55 @@ +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +// This protobuf is for sending file entries from a mtp/ptp device to the +// browser. +message MtpFileEntry { + // The id for the file on the mtp/ptp device. + optional uint32 item_id = 1; + + // The id of this file's parent on the mtp/ptp device. + optional uint32 parent_id = 2; + + // The file's name. + optional string file_name = 3; + + // The file's size. + optional uint64 file_size = 4; + + // The file's modification time. This is approximately the number of seconds + // since Unix epoch. However, it does not account for timezone offsets or + // daylight savings time. + optional int64 modification_time = 5; + + // Values match libmtp values unless noted below. + enum FileType { + FILE_TYPE_FOLDER = 0; + FILE_TYPE_JPEG = 14; + FILE_TYPE_JFIF = 15; + FILE_TYPE_TIFF = 16; + FILE_TYPE_BMP = 17; + FILE_TYPE_GIF = 18; + FILE_TYPE_PICT = 19; + FILE_TYPE_PNG = 20; + FILE_TYPE_WINDOWSIMAGEFORMAT = 25; + FILE_TYPE_JP2 = 40; + FILE_TYPE_JPX = 41; + // Truly unknown file type. + FILE_TYPE_UNKNOWN = 44; + // There's more file types to map to, but right now they are not + // interesting. Just assign a dummy value for now. + FILE_TYPE_OTHER = 9999; + } + + // The file's type. + optional FileType file_type = 6; +} + +message MtpFileEntries { + repeated MtpFileEntry file_entries = 1; +}
diff --git a/system_api/dbus/mtp_storage_info.proto b/system_api/dbus/mtp_storage_info.proto new file mode 100644 index 0000000..0551b2a --- /dev/null +++ b/system_api/dbus/mtp_storage_info.proto
@@ -0,0 +1,57 @@ +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +// This protobuf is for sending the characteristics of a storage from a mtp/ptp +// device to the browser. +message MtpStorageInfo { + // The name of the storage. e.g. usb:2,5:65537 + optional string storage_name = 1; + + // Device vendor name. e.g. Kodak + optional string vendor = 2; + + // Device vendor id. e.g. 0x040a + optional uint32 vendor_id = 3; + + // Device product name. e.g. DC4800 + optional string product = 4; + + // Device product id. e.g. 0x0160 + optional uint32 product_id = 5; + + // Device flags as defined by libmtp. See libmtp's src/device-flags.h. + optional uint32 device_flags = 6; + + // Device storage type as defined in the PIMA 15740-2000 standard, first + // edition, section 5.5.3, table 11. + optional uint32 storage_type = 7; + + // Device file system type as defined in the PIMA 15740-2000 standard, first + // edition, section 5.5.3, table 12. + optional uint32 filesystem_type = 8; + + // Access capability as defined in the PIMA 15740-2000 standard, first + // edition, section 5.5.3, table 13. + optional uint32 access_capability = 9; + + // Capacity of the storage in bytes. + optional uint64 max_capacity = 10; + + // Free space of the storage in bytes. + optional uint64 free_space_in_bytes = 11; + + // Free space of the storage in objects. i.e. How many more objects can be + // created on the device. + optional uint64 free_space_in_objects = 12; + + // A description of the storage. This is device dependent. + optional string storage_description = 13; + + // The volume label of the storage. This is device dependent. + optional string volume_identifier = 14; +}
diff --git a/system_api/dbus/permission_broker/dbus-constants.h b/system_api/dbus/permission_broker/dbus-constants.h new file mode 100644 index 0000000..d3d37ef --- /dev/null +++ b/system_api/dbus/permission_broker/dbus-constants.h
@@ -0,0 +1,25 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_PERMISSION_BROKER_DBUS_CONSTANTS_H_ +#define SYSTEM_API_DBUS_PERMISSION_BROKER_DBUS_CONSTANTS_H_ + +namespace permission_broker { +const char kPermissionBrokerInterface[] = "org.chromium.PermissionBroker"; +const char kPermissionBrokerServicePath[] = "/org/chromium/PermissionBroker"; +const char kPermissionBrokerServiceName[] = "org.chromium.PermissionBroker"; + +// Methods +const char kCheckPathAccess[] = "CheckPathAccess"; +const char kRequestPathAccess[] = "RequestPathAccess"; +const char kOpenPath[] = "OpenPath"; +const char kRequestTcpPortAccess[] = "RequestTcpPortAccess"; +const char kRequestUdpPortAccess[] = "RequestUdpPortAccess"; +const char kReleaseTcpPort[] = "ReleaseTcpPort"; +const char kReleaseUdpPort[] = "ReleaseUdpPort"; +const char kRequestVpnSetup[] = "RequestVpnSetup"; +const char kRemoveVpnSetup[] = "RemoveVpnSetup"; +} // namespace permission_broker + +#endif // SYSTEM_API_DBUS_PERMISSION_BROKER_DBUS_CONSTANTS_H_
diff --git a/system_api/dbus/power_manager/OWNERS b/system_api/dbus/power_manager/OWNERS new file mode 100644 index 0000000..6a46306 --- /dev/null +++ b/system_api/dbus/power_manager/OWNERS
@@ -0,0 +1,3 @@ +set noparent +derat@chromium.org +snanda@chromium.org
diff --git a/system_api/dbus/power_manager/dbus-constants.h b/system_api/dbus/power_manager/dbus-constants.h new file mode 100644 index 0000000..fa42cb1 --- /dev/null +++ b/system_api/dbus/power_manager/dbus-constants.h
@@ -0,0 +1,66 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_POWER_MANAGER_DBUS_CONSTANTS_H_ +#define SYSTEM_API_DBUS_POWER_MANAGER_DBUS_CONSTANTS_H_ + +namespace power_manager { +// powerd +const char kPowerManagerInterface[] = "org.chromium.PowerManager"; +const char kPowerManagerServicePath[] = "/org/chromium/PowerManager"; +const char kPowerManagerServiceName[] = "org.chromium.PowerManager"; +// Methods exposed by powerd. +const char kDecreaseScreenBrightnessMethod[] = "DecreaseScreenBrightness"; +const char kIncreaseScreenBrightnessMethod[] = "IncreaseScreenBrightness"; +const char kGetScreenBrightnessPercentMethod[] = "GetScreenBrightnessPercent"; +const char kSetScreenBrightnessPercentMethod[] = "SetScreenBrightnessPercent"; +const char kDecreaseKeyboardBrightnessMethod[] = "DecreaseKeyboardBrightness"; +const char kIncreaseKeyboardBrightnessMethod[] = "IncreaseKeyboardBrightness"; +const char kRequestRestartMethod[] = "RequestRestart"; +const char kRequestShutdownMethod[] = "RequestShutdown"; +const char kRequestSuspendMethod[] = "RequestSuspend"; +const char kGetPowerSupplyPropertiesMethod[] = "GetPowerSupplyProperties"; +const char kHandleUserActivityMethod[] = "HandleUserActivity"; +const char kHandleVideoActivityMethod[] = "HandleVideoActivity"; +const char kSetIsProjectingMethod[] = "SetIsProjecting"; +const char kSetPolicyMethod[] = "SetPolicy"; +const char kSetPowerSourceMethod[] = "SetPowerSource"; +const char kRegisterSuspendDelayMethod[] = "RegisterSuspendDelay"; +const char kUnregisterSuspendDelayMethod[] = "UnregisterSuspendDelay"; +const char kHandleSuspendReadinessMethod[] = "HandleSuspendReadiness"; +const char kRegisterDarkSuspendDelayMethod[] = "RegisterDarkSuspendDelay"; +const char kUnregisterDarkSuspendDelayMethod[] = "UnregisterDarkSuspendDelay"; +const char kHandleDarkSuspendReadinessMethod[] = "HandleDarkSuspendReadiness"; +const char kHandlePowerButtonAcknowledgmentMethod[] = + "HandlePowerButtonAcknowledgment"; +const char kRecordDarkResumeWakeReasonMethod[] = "RecordDarkResumeWakeReason"; +// Signals emitted by powerd. +const char kBrightnessChangedSignal[] = "BrightnessChanged"; +const char kKeyboardBrightnessChangedSignal[] = "KeyboardBrightnessChanged"; +const char kPeripheralBatteryStatusSignal[] = "PeripheralBatteryStatus"; +const char kPowerSupplyPollSignal[] = "PowerSupplyPoll"; +const char kSuspendImminentSignal[] = "SuspendImminent"; +const char kDarkSuspendImminentSignal[] = "DarkSuspendImminent"; +const char kSuspendDoneSignal[] = "SuspendDone"; +const char kInputEventSignal[] = "InputEvent"; +const char kIdleActionImminentSignal[] = "IdleActionImminent"; +const char kIdleActionDeferredSignal[] = "IdleActionDeferred"; +// Values +const int kBrightnessTransitionGradual = 1; +const int kBrightnessTransitionInstant = 2; +enum UserActivityType { + USER_ACTIVITY_OTHER = 0, + USER_ACTIVITY_BRIGHTNESS_UP_KEY_PRESS = 1, + USER_ACTIVITY_BRIGHTNESS_DOWN_KEY_PRESS = 2, + USER_ACTIVITY_VOLUME_UP_KEY_PRESS = 3, + USER_ACTIVITY_VOLUME_DOWN_KEY_PRESS = 4, + USER_ACTIVITY_VOLUME_MUTE_KEY_PRESS = 5, +}; +enum RequestRestartReason { + REQUEST_RESTART_FOR_USER = 0, + REQUEST_RESTART_FOR_UPDATE = 1, +}; +} // namespace power_manager + +#endif // SYSTEM_API_DBUS_POWER_MANAGER_DBUS_CONSTANTS_H_
diff --git a/system_api/dbus/power_manager/input_event.proto b/system_api/dbus/power_manager/input_event.proto new file mode 100644 index 0000000..85aaadd --- /dev/null +++ b/system_api/dbus/power_manager/input_event.proto
@@ -0,0 +1,29 @@ +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +package power_manager; + +// Included in powerd's InputEvent signals. +message InputEvent { + // Next ID to use: 3 + + // Type of event. + enum Type { + POWER_BUTTON_DOWN = 0; + POWER_BUTTON_UP = 1; + LID_OPEN = 2; + LID_CLOSED = 3; + TABLET_MODE_ON = 4; + TABLET_MODE_OFF = 5; + } + optional Type type = 1; + + // Monotonically-increasing time at which this event occured, as given by + // base::TimeTicks::ToInternalValue(). + optional int64 timestamp = 2; +}
diff --git a/system_api/dbus/power_manager/peripheral_battery_status.proto b/system_api/dbus/power_manager/peripheral_battery_status.proto new file mode 100644 index 0000000..fd4ba9e --- /dev/null +++ b/system_api/dbus/power_manager/peripheral_battery_status.proto
@@ -0,0 +1,22 @@ +// Copyright (c) 2013 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +package power_manager; + +message PeripheralBatteryStatus { + // Path of the battery sysfs. + optional string path = 1; + + // Name of the peripheral device. + optional string name = 2; + + // Battery level in range [0, 100]. Unset if the level is + // unknown or the device is disconnected. + optional int32 level = 3; +} +
diff --git a/system_api/dbus/power_manager/policy.proto b/system_api/dbus/power_manager/policy.proto new file mode 100644 index 0000000..b678e37 --- /dev/null +++ b/system_api/dbus/power_manager/policy.proto
@@ -0,0 +1,161 @@ +// Copyright (c) 2013 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +package power_manager; + +// Power management policy sent from Chrome to powerd. +// +// New settings take effect immediately. For example, if |idle_ms| is +// currently set to 15 minutes, the user has been inactive for 12 minutes, +// and a message setting |idle_ms| to 10 minutes is received, +// |idle_action| will be performed immediately. If |lid_closed_action| is +// DO_NOTHING, the lid is closed, and |lid_closed_action| is then set to +// SHUT_DOWN, the system will shut down immediately. +// +// In the case of an unset field, powerd will restore a default value (as +// opposed to continuing to use a value set by a previous message). An +// empty message will restore all settings to their defaults. +message PowerManagementPolicy { + enum Action { + // Suspends the system. Chrome may lock the screen first depending on + // its "Require password to wake from sleep" setting and the type of + // user that is logged in. + SUSPEND = 0; + + // Ends the current user's session. Does nothing at the login screen. + STOP_SESSION = 1; + + // Shuts the system down. + SHUT_DOWN = 2; + + // Does nothing. + DO_NOTHING = 3; + + // Next value to use: 4 + } + + message Delays { + // Delay after which |idle_action| is performed, in milliseconds. The + // inactivity timeout is reset in response to things like user activity + // (including the lid being opened, the power source changing, an + // external display being connected, etc.), resuming from suspend, or + // the session state changing. + optional int64 idle_ms = 1; + + // Delay after which the screen will be turned off, in milliseconds. 0 + // disables turning the screen off. Capped to be less than or equal to + // |idle_ms|. The same events that cause the inactivity timeout to be + // reset cause the screen to be turned back on. + optional int64 screen_off_ms = 2; + + // Delay after which the screen will be dimmed, in milliseconds. 0 + // disables dimming. Capped to be less than or equal to + // |screen_off_ms| if |screen_off_ms| is set or less than or equal to + // |idle_ms| otherwise. The same events that cause the inactivity + // timeout to be reset cause the screen to be undimmed. + optional int64 screen_dim_ms = 3; + + // Delay after which the screen will be locked, in milliseconds. 0 + // disables locking. Capped to be less than |idle_ms|. Note that + // lock-on-suspend is implemented within Chrome; this delay is provided + // for cases where the screen must be locked a significant amount of + // time before the device is suspended. + optional int64 screen_lock_ms = 4; + + // Delay after which an IdleActionImminent signal will be emitted, in + // milliseconds. If the inactivity timeout is then reset before the idle + // action is performed, an IdleActionDeferred signal will be emitted. If the + // idle delay is changed after IdleActionImminent has been emitted, an + // additional signal will be emitted. 0 disables the signal. Capped to be + // less than or equal to |idle_ms|. + optional int64 idle_warning_ms = 5; + + // Next ID to use: 6 + } + + // Action to perform when |idle_ms| (see Delays) is reached without any + // user activity while the system is on AC power. + optional Action ac_idle_action = 1; + + // Idle action when the system is on battery power. + optional Action battery_idle_action = 11; + + // Action to perform when the lid is closed. + optional Action lid_closed_action = 2; + + // Delays used while the system is on AC power. + optional Delays ac_delays = 3; + + // Delays used while the system is on battery power. + optional Delays battery_delays = 4; + + // Should audio activity be honored? If true, audio activity will + // prevent |idle_action| from being performed, although the screen + // dimming, off, and lock delays will still be in effect. Once the audio + // has stopped, |idle_action| will be performed if no user or audio + // activity is observed for |idle_ms|. + optional bool use_audio_activity = 5; + + // Should video activity be honored? If true, video activity will + // prevent |idle_action| from being performed and the screen from being + // automatically dimmed, turned off, or locked. All these timeouts will + // be reset once the video has stopped. + optional bool use_video_activity = 6; + + // Backlight brightness in the range [0.0, 100.0] to use when on AC or battery + // power. When a message containing these fields is received, the backlight is + // set to the requested brightness. The updated brightness persists until the + // user manually changes it or a new policy containing the currently-relevant + // field is received. + optional double ac_brightness_percent = 13; + optional double battery_brightness_percent = 14; + + // Factor by which |screen_dim_ms| will be scaled while the device is in + // presentation mode. Other delays' distances from |screen_dim_ms| are + // preserved after scaling. A value of 1.0 (or less) leaves delays + // unchanged. If the conditions used for both this field and + // |user_activity_screen_dim_delay_factor| are true, this field takes + // precedence. + optional double presentation_screen_dim_delay_factor = 10; + + // Factor by which |screen_dim_ms| will be scaled if user activity is + // observed while the screen is dimmed or soon after it is turned off. + // Other delays' distances from |screen_dim_ms| are preserved after + // scaling. The delays will return to their original values at the end + // of the current user session. A value of 1.0 (or less) or an unset + // |screen_dim_ms| delay leaves delays unchanged. + optional double user_activity_screen_dim_delay_factor = 9; + + // If true, instructs the power manager not to perform any + // delay-triggered actions while in a user session until user activity + // has been observed. After activity is seen, the inactivity timeout + // starts. The actions are deferred again after a new session starts. + // Note that this has no immediate effect if activity has already been + // seen within an already-started session (activity that took place + // before the policy change is honored) and also that it has no effect at + // the login screen. + optional bool wait_for_initial_user_activity = 12; + + // If true, force the panel backlight to a non-zero brightness level in + // response to user activity if it was previously manually set to zero by the + // user. + optional bool force_nonzero_brightness_for_user_activity = 15; + + // Human-readable description of the factors contributing to this policy. + // Logged by the power manager to aid in debugging. + optional string reason = 8; + + // Next ID to use: 16 +} + +// Message included in IdleActionImminent signals. +message IdleActionImminent { + // Time until the idle action will be performed as given by + // base::TimeDelta::ToInternalValue(). + optional int64 time_until_idle_action = 1; +}
diff --git a/system_api/dbus/power_manager/power_supply_properties.proto b/system_api/dbus/power_manager/power_supply_properties.proto new file mode 100644 index 0000000..2a1906a --- /dev/null +++ b/system_api/dbus/power_manager/power_supply_properties.proto
@@ -0,0 +1,136 @@ +// Copyright (c) 2013 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +package power_manager; + +// Power supply status sent from powerd to Chrome. +message PowerSupplyProperties { + // For any of these power sources, the system may be consuming power at a high + // enough rate that the battery is discharging rather than charging; see + // BatteryState. + enum ExternalPower { + // AC/line/mains or USB PD power is connected. This is typically the + // highest-power source that can be attached to the system. + AC = 0; + + // A low-power USB source (SDP, DCP, CDP, or ACA) is connected. + USB = 1; + + // No external power source is connected. + DISCONNECTED = 2; + + // Next value to use: 4 + } + + enum BatteryState { + // The battery is full or close to full. + FULL = 0; + + // The battery is being charged but is not yet full. + CHARGING = 1; + + // The battery is discharging. Note that an external power source may be + // connected but not supplying enough power to offset the system's + // instantaneous power consumption. This state is also used if the battery + // is neither charging nor discharging (i.e. current is zero) in a non-full + // state, which may indicate a battery defect. + DISCHARGING = 2; + + // The system doesn't have a battery. + NOT_PRESENT = 3; + + // Next value to use: 4 + } + + // Details about a potential source of power to the system. + message PowerSource { + enum Port { + // The location of the port is unknown, or there's only one port. + UNKNOWN = 0; + + // Various positions on the device. The first word describes the side of + // the device where the port is located while the second clarifies the + // position. For example, LEFT_BACK means the farthest-back port on the + // left side, while BACK_LEFT means the leftmost port on the back of the + // device. + LEFT = 1; + RIGHT = 2; + BACK = 3; + FRONT = 4; + LEFT_FRONT = 5; + LEFT_BACK = 6; + RIGHT_FRONT = 7; + RIGHT_BACK = 8; + BACK_LEFT = 9; + BACK_RIGHT = 10; + + // Next value to use: 11 + } + + // Opaque ID corresponding to the device; see |external_power_source_id|. + optional string id = 1; + + // The charging port to which this power source is connected. + optional Port port = 7; + + // Raw strings read from |manufacturer| and |model_name| files in sysfs. + optional string manufacturer_id = 4; + optional string model_id = 5; + + // Maximum power this source is capable of delivering, in watts. + optional double max_power = 6; + + // True if the power source will automatically deliver charge to the system + // when connected (assuming there isn't another |active_by_default| source + // doing so). If false, the source will not deliver charge unless requested + // to do so by the user. + optional bool active_by_default = 3; + + // Next ID to use: 8 + } + + // Current state of the external power source. + optional ExternalPower external_power = 14; + + // ID of the PowerSource that is currently providing power to the system. + optional string external_power_source_id = 17; + + // Currently-connected external power sources. + repeated PowerSource available_external_power_source = 18; + + // Current state of the battery. + optional BatteryState battery_state = 15; + + // Estimated battery charge as a percent of its total capacity, in the + // range [0.0, 100.0]. + optional double battery_percent = 7; + + // Estimated time until the battery is empty, in seconds, or zero if the + // battery isn't discharging. -1 if the estimated time would be huge + // (e.g. because the current is zero or close to zero). + optional int64 battery_time_to_empty_sec = 5; + + // Estimated time until the battery is full, in seconds, or zero if the + // battery isn't charging. -1 if the estimated time would be huge (e.g. + // because the current is zero or close to zero). + optional int64 battery_time_to_full_sec = 6; + + // True when |battery_time_to_*| can't be trusted, e.g. because the power + // source just changed. + optional bool is_calculating_battery_time = 12 [default = false]; + + // The battery discharge rate measured in W. Positive if the battery is + // being discharged and negative if it's being charged. + optional double battery_discharge_rate = 16; + + // True if it is possible for some connected devices to function as either + // sources or sinks (i.e. to either deliver or receive charge). + optional bool supports_dual_role_devices = 19; + + // Next ID to use: 20 +}
diff --git a/system_api/dbus/power_manager/suspend.proto b/system_api/dbus/power_manager/suspend.proto new file mode 100644 index 0000000..4e4594c --- /dev/null +++ b/system_api/dbus/power_manager/suspend.proto
@@ -0,0 +1,112 @@ +// Copyright 2014 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +package power_manager; + +// Included in powerd's SuspendImminent signal, sent when the system is about to +// suspend. If any clients previously called RegisterSuspendDelay, suspending +// will be deferred until they've called powerd's HandleSuspendReadiness method. +// +// The general flow is as follows: +// +// 1. A client that needs to perform some work before the system can be +// suspended listens for SuspendImminent and SuspendDone signals from powerd. +// 2. The client passes a RegisterSuspendDelayRequest message to powerd's +// RegisterSuspendDelay method and receives a RegisterSuspendDelayReply +// message in response. The client saves the |delay_id| field from the +// response. +// 3. When the power manager is about to suspend the system, it emits a +// SuspendImminent signal containing a SuspendImminent message. +// 4. Upon receipt of the signal, the client performs any last minute work +// that it needs to do and then calls powerd's HandleSuspendReadiness method, +// including a SuspendReadinessInfo message with its |delay_id| and the +// |suspend_id| field from the SuspendImminent signal. +// 5. Once powerd has received notification that all registered clients are +// ready to suspend, the system will be suspended. If the initial suspend +// attempt fails, it will be retried automatically, but additional +// SuspendImminent signals will not be emitted. +// 6. After the suspend request is complete, powerd emits a SuspendDone signal +// containing a SuspendDone message. The client should undo any pre-suspend +// work that was done in response to the SuspendImminent signal. +// 7. Before the client exits, it calls UnregisterSuspendDelayRequest with a +// UnregisterSuspendDelayRequest message containing its delay ID. +message SuspendImminent { + // Next ID to use: 2 + + // Unique ID corresponding to this suspend request. This is included in the + // SuspendReadinessInfo message passed via HandleSuspendReadiness. + optional int32 suspend_id = 1; +} + +// Included in powerd's SuspendDone signal, sent after the system has completed +// a suspend request. Each SuspendImminent signal will be followed by a +// SuspendDone signal. +message SuspendDone { + // Next ID to use: 3 + + // Unique ID corresponding to the suspend request. + optional int32 suspend_id = 1; + + // Wall time that the system was suspended, as given by + // base::TimeDelta::ToInternalValue(). + optional int64 suspend_duration = 2; +} + +// Included in calls to powerd's RegisterSuspendDelay method. +message RegisterSuspendDelayRequest { + // Next ID to use: 3 + + // Upper bound on the amount of time that the power manager will wait for this + // client to call HandleSuspendReadiness before suspending the system, as + // given by base::TimeDelta::ToInternalValue(). + optional int64 timeout = 1; + + // Human-readable description of the delay's purpose (e.g. the name of + // the daemon that requested the delay). Only used for debugging. + optional string description = 2; +} + +// Included in responses to powerd's RegisterSuspendDelay method. +message RegisterSuspendDelayReply { + // Next ID to use: 2 + + // Unique ID assigned to the client that registered this suspend delay. This + // is included in later HandleSuspendReadiness and UnregisterSuspendDelay + // calls. + optional int32 delay_id = 1; +} + +// Included in calls to powerd's UnregisterSuspendDelay method. +message UnregisterSuspendDelayRequest { + // Next ID to use: 2 + + // ID that was returned in response to the original RegisterSuspendDelay call. + optional int32 delay_id = 1; +} + +// Included in calls to powerd's HandleSuspendReadiness method. +message SuspendReadinessInfo { + // Next ID to use: 3 + + // ID that was returned to the client in response to its invocation of + // RegisterSuspendDelay. + optional int32 delay_id = 1; + + // ID that was included in the SuspendImminent signal that provoked this + // readiness call. + optional int32 suspend_id = 2; +} + +// Included in calls to powerd's RecordDarkResumeWakeReason method. +message DarkResumeWakeReason { + // Next ID to use: 2 + + // Wake reason that caused the current dark resume. + optional string wake_reason = 1; +} +
diff --git a/system_api/dbus/service_constants.h b/system_api/dbus/service_constants.h new file mode 100644 index 0000000..79d4a72 --- /dev/null +++ b/system_api/dbus/service_constants.h
@@ -0,0 +1,944 @@ +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_SERVICE_CONSTANTS_H_ +#define SYSTEM_API_DBUS_SERVICE_CONSTANTS_H_ + +#include <stdint.h> // for uint32_t + +// We use relative includes here to make this compatible with both the +// Chromium OS and Chromium environment. +#include "apmanager/dbus-constants.h" +#include "cros-disks/dbus-constants.h" +#include "cryptohome/dbus-constants.h" +#include "debugd/dbus-constants.h" +#include "login_manager/dbus-constants.h" +#include "lorgnette/dbus-constants.h" +#include "permission_broker/dbus-constants.h" +#include "power_manager/dbus-constants.h" +#include "shill/dbus-constants.h" +#include "update_engine/dbus-constants.h" + +namespace dbus { +const char kDBusInterface[] = "org.freedesktop.DBus"; +const char kDBusServiceName[] = "org.freedesktop.DBus"; +const char kDBusServicePath[] = "/org/freedesktop/DBus"; + +// Object Manager interface +const char kDBusObjectManagerInterface[] = "org.freedesktop.DBus.ObjectManager"; +// Methods +const char kDBusObjectManagerGetManagedObjects[] = "GetManagedObjects"; +// Signals +const char kDBusObjectManagerInterfacesAddedSignal[] = "InterfacesAdded"; +const char kDBusObjectManagerInterfacesRemovedSignal[] = "InterfacesRemoved"; + +// Properties interface +const char kDBusPropertiesInterface[] = "org.freedesktop.DBus.Properties"; +// Methods +const char kDBusPropertiesGet[] = "Get"; +const char kDBusPropertiesSet[] = "Set"; +const char kDBusPropertiesGetAll[] = "GetAll"; +// Signals +const char kDBusPropertiesChangedSignal[] = "PropertiesChanged"; +} // namespace dbus + +namespace imageburn { +const char kImageBurnServiceName[] = "org.chromium.ImageBurner"; +const char kImageBurnServicePath[] = "/org/chromium/ImageBurner"; +const char kImageBurnServiceInterface[] = "org.chromium.ImageBurnerInterface"; +// Methods +const char kBurnImage[] = "BurnImage"; +// Signals +const char kSignalBurnFinishedName[] = "burn_finished"; +const char kSignalBurnUpdateName[] = "burn_progress_update"; +} // namespace imageburn + +namespace speech_synthesis { +const char kSpeechSynthesizerInterface[] = + "org.chromium.SpeechSynthesizerInterface"; +const char kSpeechSynthesizerServicePath[] = "/org/chromium/SpeechSynthesizer"; +const char kSpeechSynthesizerServiceName[] = "org.chromium.SpeechSynthesizer"; +// Methods +const char kSpeak[] = "Speak"; +const char kStop[] = "Stop"; +const char kIsSpeaking[] = "IsSpeaking"; +const char kShutdown[] = "Shutdown"; +} // namespace speech_synthesis + +namespace chromium { +const char kChromiumInterface[] = "org.chromium.Chromium"; +// Text-to-speech service signals. +const char kTTSReadySignal[] = "TTSReady"; +const char kTTSFailedSignal[] = "TTSFailed"; +} // namespace chromium + +namespace chromeos { +const char kLibCrosServiceName[] = "org.chromium.LibCrosService"; +const char kLibCrosServicePath[] = "/org/chromium/LibCrosService"; +const char kLibCrosServiceInterface[] = "org.chromium.LibCrosServiceInterface"; +// Methods +const char kResolveNetworkProxy[] = "ResolveNetworkProxy"; +const char kCheckLiveness[] = "CheckLiveness"; +const char kGetKioskAppRequiredPlatforVersion[] = + "GetKioskAppRequiredPlatformVersion"; +const char kLockScreen[] = "LockScreen"; +const char kSetDisplayPower[] = "SetDisplayPower"; +const char kSetDisplaySoftwareDimming[] = "SetDisplaySoftwareDimming"; +const char kTakeDisplayOwnership[] = "TakeDisplayOwnership"; +const char kReleaseDisplayOwnership[] = "ReleaseDisplayOwnership"; +// Values +enum DisplayPowerState { + DISPLAY_POWER_ALL_ON = 0, + DISPLAY_POWER_ALL_OFF = 1, + DISPLAY_POWER_INTERNAL_OFF_EXTERNAL_ON = 2, + DISPLAY_POWER_INTERNAL_ON_EXTERNAL_OFF = 3, +}; +} // namespace chromeos + +namespace cromo { +// cromo D-Bus service identifiers +const char kCromoServiceName[] = "org.chromium.ModemManager"; +const char kCromoServicePath[] = "/org/chromium/ModemManager"; + +// cromo D-Bus interfaces +const char kModemInterface[] = "org.freedesktop.ModemManager.Modem"; +const char kModemSimpleInterface[] = + "org.freedesktop.ModemManager.Modem.Simple"; +const char kModemCdmaInterface[] = "org.freedesktop.ModemManager.Modem.Cdma"; +const char kModemGsmInterface[] = "org.freedesktop.ModemManager.Modem.Gsm"; +const char kModemGsmCardInterface[] = + "org.freedesktop.ModemManager.Modem.Gsm.Card"; +const char kModemGsmNetworkInterface[] = + "org.freedesktop.ModemManager.Modem.Gsm.Network"; +const char kModemGobiInterface[] = "org.chromium.ModemManager.Modem.Gobi"; +} // namespace cromo + +namespace modemmanager { +// ModemManager D-Bus service identifiers +const char kModemManagerSMSInterface[] = + "org.freedesktop.ModemManager.Modem.Gsm.SMS"; + +// ModemManager function names. +const char kSMSGetFunction[] = "Get"; +const char kSMSDeleteFunction[] = "Delete"; +const char kSMSListFunction[] = "List"; + +// ModemManager monitored signals +const char kSMSReceivedSignal[] = "SmsReceived"; + +// ModemManager1 interfaces and signals +// The canonical source for these constants is: +// /usr/include/ModemManager/ModemManager-names.h +const char kModemManager1ServiceName[] = "org.freedesktop.ModemManager1"; +const char kModemManager1ServicePath[] = "/org/freedesktop/ModemManager1"; +const char kModemManager1MessagingInterface[] = + "org.freedesktop.ModemManager1.Modem.Messaging"; +const char kModemManager1SmsInterface[] = + "org.freedesktop.ModemManager1.Sms"; +const char kSMSAddedSignal[] = "Added"; +} // namespace modemmanager + +namespace wimax_manager { +// WiMaxManager D-Bus service identifiers +const char kWiMaxManagerServiceName[] = "org.chromium.WiMaxManager"; +const char kWiMaxManagerServicePath[] = "/org/chromium/WiMaxManager"; +const char kWiMaxManagerServiceError[] = "org.chromium.WiMaxManager.Error"; +const char kWiMaxManagerInterface[] = "org.chromium.WiMaxManager"; +const char kWiMaxManagerDeviceInterface[] = "org.chromium.WiMaxManager.Device"; +const char kWiMaxManagerNetworkInterface[] = + "org.chromium.WiMaxManager.Network"; +const char kDeviceObjectPathPrefix[] = "/org/chromium/WiMaxManager/Device/"; +const char kNetworkObjectPathPrefix[] = "/org/chromium/WiMaxManager/Network/"; +const char kDevicesProperty[] = "Devices"; +const char kNetworksProperty[] = "Networks"; +const char kEAPAnonymousIdentity[] = "EAPAnonymousIdentity"; +const char kEAPUserIdentity[] = "EAPUserIdentity"; +const char kEAPUserPassword[] = "EAPUserPassword"; + +enum DeviceStatus { + kDeviceStatusUninitialized, + kDeviceStatusDisabled, + kDeviceStatusReady, + kDeviceStatusScanning, + kDeviceStatusConnecting, + kDeviceStatusConnected +}; +} // namespace wimax_manager + +namespace bluetooth_plugin { +// Service identifiers for the plugin interface added to the /org/bluez object. +const char kBluetoothPluginServiceName[] = "org.bluez"; +const char kBluetoothPluginInterface[] = "org.chromium.Bluetooth"; + +// Bluetooth plugin properties. +const char kSupportsLEServices[] = "SupportsLEServices"; +const char kSupportsConnInfo[] = "SupportsConnInfo"; +} // namespace bluetooth_plugin + +namespace bluetooth_plugin_device { +// Service identifiers for the plugin interface added to Bluetooth Device +// objects. +const char kBluetoothPluginServiceName[] = "org.bluez"; +const char kBluetoothPluginInterface[] = "org.chromium.BluetoothDevice"; + +// Bluetooth Device plugin methods. +const char kGetConnInfo[] = "GetConnInfo"; +} // namespace bluetooth_plugin_device + +namespace bluetooth_adapter { +// Bluetooth Adapter service identifiers. +const char kBluetoothAdapterServiceName[] = "org.bluez"; +const char kBluetoothAdapterInterface[] = "org.bluez.Adapter1"; + +// Bluetooth Adapter methods. +const char kStartDiscovery[] = "StartDiscovery"; +const char kSetDiscoveryFilter[] = "SetDiscoveryFilter"; +const char kStopDiscovery[] = "StopDiscovery"; +const char kRemoveDevice[] = "RemoveDevice"; +const char kCreateServiceRecord[] = "CreateServiceRecord"; +const char kRemoveServiceRecord[] = "RemoveServiceRecord"; + +// Bluetooth Adapter properties. +const char kAddressProperty[] = "Address"; +const char kNameProperty[] = "Name"; +const char kAliasProperty[] = "Alias"; +const char kClassProperty[] = "Class"; +const char kPoweredProperty[] = "Powered"; +const char kDiscoverableProperty[] = "Discoverable"; +const char kPairableProperty[] = "Pairable"; +const char kPairableTimeoutProperty[] = "PairableTimeout"; +const char kDiscoverableTimeoutProperty[] = "DiscoverableTimeout"; +const char kDiscoveringProperty[] = "Discovering"; +const char kUUIDsProperty[] = "UUIDs"; +const char kModaliasProperty[] = "Modalias"; + +// Bluetooth Adapter errors. +const char kErrorNotReady[] = "org.bluez.Error.NotReady"; +const char kErrorFailed[] = "org.bluez.Error.Failed"; +const char kErrorNotAuthorized[] = "org.bluez.Error.NotAuthorized"; +const char kErrorInvalidArguments[] = "org.bluez.Error.InvalidArguments"; +const char kErrorAlreadyExists[] = "org.bluez.Error.AlreadyExists"; +const char kErrorDoesNotExist[] = "org.bluez.Error.DoesNotExist"; + +// Bluetooth Adapter parameters supplied to SetDiscoveryFilter request. +const char kDiscoveryFilterParameterUUIDs[] = "UUIDs"; +const char kDiscoveryFilterParameterRSSI[] = "RSSI"; +const char kDiscoveryFilterParameterPathloss[] = "Pathloss"; +const char kDiscoveryFilterParameterTransport[] = "Transport"; +} // namespace bluetooth_adapter + +namespace bluetooth_agent_manager { +// Bluetooth Agent Manager service indentifiers +const char kBluetoothAgentManagerServiceName[] = "org.bluez"; +const char kBluetoothAgentManagerServicePath[] = "/org/bluez"; +const char kBluetoothAgentManagerInterface[] = "org.bluez.AgentManager1"; + +// Bluetooth Agent Manager methods. +const char kRegisterAgent[] = "RegisterAgent"; +const char kUnregisterAgent[] = "UnregisterAgent"; +const char kRequestDefaultAgent[] = "RequestDefaultAgent"; + +// Bluetooth capabilities. +const char kNoInputNoOutputCapability[] = "NoInputNoOutput"; +const char kDisplayOnlyCapability[] = "DisplayOnly"; +const char kKeyboardOnlyCapability[] = "KeyboardOnly"; +const char kDisplayYesNoCapability[] = "DisplayYesNo"; +const char kKeyboardDisplayCapability[] = "KeyboardDisplay"; + +// Bluetooth Agent Manager errors. +const char kErrorInvalidArguments[] = "org.bluez.Error.InvalidArguments"; +const char kErrorAlreadyExists[] = "org.bluez.Error.AlreadyExists"; +const char kErrorDoesNotExist[] = "org.bluez.Error.DoesNotExist"; +} // namespace bluetooth_agent_manager + + +namespace bluetooth_agent { +// Bluetooth Agent service indentifiers +const char kBluetoothAgentInterface[] = "org.bluez.Agent1"; + +// Bluetooth Agent methods. +const char kRelease[] = "Release"; +const char kRequestPinCode[] = "RequestPinCode"; +const char kDisplayPinCode[] = "DisplayPinCode"; +const char kRequestPasskey[] = "RequestPasskey"; +const char kDisplayPasskey[] = "DisplayPasskey"; +const char kRequestConfirmation[] = "RequestConfirmation"; +const char kRequestAuthorization[] = "RequestAuthorization"; +const char kAuthorizeService[] = "AuthorizeService"; +const char kCancel[] = "Cancel"; + +// Bluetooth Agent errors. +const char kErrorRejected[] = "org.bluez.Error.Rejected"; +const char kErrorCanceled[] = "org.bluez.Error.Canceled"; +} // namespace bluetooth_agent + +namespace bluetooth_device { +// Bluetooth Device service identifiers. +const char kBluetoothDeviceServiceName[] = "org.bluez"; +const char kBluetoothDeviceInterface[] = "org.bluez.Device1"; + +// Bluetooth Device methods. +const char kConnect[] = "Connect"; +const char kDisconnect[] = "Disconnect"; +const char kConnectProfile[] = "ConnectProfile"; +const char kDisconnectProfile[] = "DisconnectProfile"; +const char kPair[] = "Pair"; +const char kCancelPairing[] = "CancelPairing"; +const char kGetServiceRecords[] = "GetServiceRecords"; + +// Bluetooth Device properties. +const char kAddressProperty[] = "Address"; +const char kNameProperty[] = "Name"; +const char kIconProperty[] = "Icon"; +const char kClassProperty[] = "Class"; +const char kTypeProperty[] = "Type"; +const char kAppearanceProperty[] = "Appearance"; +const char kUUIDsProperty[] = "UUIDs"; +const char kPairedProperty[] = "Paired"; +const char kConnectedProperty[] = "Connected"; +const char kTrustedProperty[] = "Trusted"; +const char kBlockedProperty[] = "Blocked"; +const char kAliasProperty[] = "Alias"; +const char kAdapterProperty[] = "Adapter"; +const char kLegacyPairingProperty[] = "LegacyPairing"; +const char kModaliasProperty[] = "Modalias"; +const char kRSSIProperty[] = "RSSI"; +const char kTxPowerProperty[] = "TxPower"; +const char kManufacturerDataProperty[] = "ManufacturerData"; +const char kServiceDataProperty[] = "ServiceData"; +const char kGattServicesProperty[] = "GattServices"; // DEPRECATED +const char kServicesResolvedProperty[] = "ServicesResolved"; + +// Bluetooth Device errors. +const char kErrorNotReady[] = "org.bluez.Error.NotReady"; +const char kErrorFailed[] = "org.bluez.Error.Failed"; +const char kErrorInProgress[] = "org.bluez.Error.InProgress"; +const char kErrorAlreadyConnected[] = "org.bluez.Error.AlreadyConnected"; +const char kErrorNotConnected[] = "org.bluez.Error.NotConnected"; +const char kErrorDoesNotExist[] = "org.bluez.Error.DoesNotExist"; +const char kErrorInvalidArguments[] = "org.bluez.Error.InvalidArguments"; + +// Undocumented errors that we know BlueZ returns for Bluetooth Device methods. +const char kErrorNotSupported[] = "org.bluez.Error.NotSupported"; +const char kErrorAuthenticationCanceled[] = + "org.bluez.Error.AuthenticationCanceled"; +const char kErrorAuthenticationFailed[] = + "org.bluez.Error.AuthenticationFailed"; +const char kErrorAuthenticationRejected[] = + "org.bluez.Error.AuthenticationRejected"; +const char kErrorAuthenticationTimeout[] = + "org.bluez.Error.AuthenticationTimeout"; +const char kErrorConnectionAttemptFailed[] = + "org.bluez.Error.ConnectionAttemptFailed"; +} // namespace bluetooth_device + +namespace bluetooth_gatt_characteristic { +// Bluetooth GATT Characteristic service identifiers. The service name is used +// only for characteristic objects hosted by bluetoothd. +const char kBluetoothGattCharacteristicServiceName[] = "org.bluez"; +const char kBluetoothGattCharacteristicInterface[] = + "org.bluez.GattCharacteristic1"; + +// Bluetooth GATT Characteristic methods. +const char kReadValue[] = "ReadValue"; +const char kWriteValue[] = "WriteValue"; +const char kStartNotify[] = "StartNotify"; +const char kStopNotify[] = "StopNotify"; + +// Bluetooth GATT Characteristic signals. +const char kValueUpdatedSignal[] = "ValueUpdated"; + +// Possible keys for option dict used in ReadValue and WriteValue. +const char kOptionOffset[] = "offset"; +const char kOptionDevice[] = "device"; + +// Bluetooth GATT Characteristic properties. +const char kUUIDProperty[] = "UUID"; +const char kServiceProperty[] = "Service"; +const char kValueProperty[] = "Value"; +const char kFlagsProperty[] = "Flags"; +const char kNotifyingProperty[] = "Notifying"; +const char kDescriptorsProperty[] = "Descriptors"; + +// Possible values for Bluetooth GATT Characteristic "Flags" property. +const char kFlagBroadcast[] = "broadcast"; +const char kFlagRead[] = "read"; +const char kFlagWriteWithoutResponse[] = "write-without-response"; +const char kFlagWrite[] = "write"; +const char kFlagNotify[] = "notify"; +const char kFlagIndicate[] = "indicate"; +const char kFlagAuthenticatedSignedWrites[] = "authenticated-signed-writes"; +const char kFlagExtendedProperties[] = "extended-properties"; +const char kFlagReliableWrite[] = "reliable-write"; +const char kFlagWritableAuxiliaries[] = "writable-auxiliaries"; +const char kFlagEncryptRead[] = "encrypt-read"; +const char kFlagEncryptWrite[] = "encrypt-write"; +const char kFlagEncryptAuthenticatedRead[] = "encrypt-authenticated-read"; +const char kFlagEncryptAuthenticatedWrite[] = "encrypt-authenticated-write"; +} // namespace bluetooth_gatt_characteristic + +namespace bluetooth_gatt_descriptor { +// Bluetooth GATT Descriptor service identifiers. The service name is used +// only for descriptor objects hosted by bluetoothd. +const char kBluetoothGattDescriptorServiceName[] = "org.bluez"; +const char kBluetoothGattDescriptorInterface[] = "org.bluez.GattDescriptor1"; + +// Bluetooth GATT Descriptor methods. +const char kReadValue[] = "ReadValue"; +const char kWriteValue[] = "WriteValue"; + +// Possible keys for option dict used in ReadValue and WriteValue. +const char kOptionOffset[] = "offset"; +const char kOptionDevice[] = "device"; + +// Bluetooth GATT Descriptor properties. +const char kUUIDProperty[] = "UUID"; +const char kCharacteristicProperty[] = "Characteristic"; +const char kValueProperty[] = "Value"; +const char kFlagsProperty[] = "Flags"; + +// Possible values for Bluetooth GATT Descriptor "Flags" property. +const char kFlagRead[] = "read"; +const char kFlagWrite[] = "write"; +const char kFlagEncryptRead[] = "encrypt-read"; +const char kFlagEncryptWrite[] = "encrypt-write"; +const char kFlagEncryptAuthenticatedRead[] = "encrypt-authenticated-read"; +const char kFlagEncryptAuthenticatedWrite[] = "encrypt-authenticated-write"; +} // namespace bluetooth_gatt_descriptor + +namespace bluetooth_gatt_manager { +// Bluetooth GATT Manager service identifiers. +const char kBluetoothGattManagerServiceName[] = "org.bluez"; +const char kBluetoothGattManagerInterface[] = "org.bluez.GattManager1"; + +// Bluetooth GATT Manager methods. +const char kRegisterApplication[] = "RegisterApplication"; +const char kUnregisterApplication[] = "UnregisterApplication"; +const char kRegisterService[] = "RegisterService"; +const char kUnregisterService[] = "UnregisterService"; + +// Bluetooth GATT Manager errors. +const char kErrorInvalidArguments[] = "org.bluez.Error.InvalidArguments"; +const char kErrorAlreadyExists[] = "org.bluez.Error.AlreadyExists"; +const char kErrorDoesNotExist[] = "org.bluez.Error.DoesNotExist"; +} // namespace bluetooth_gatt_manager + +namespace bluetooth_gatt_service { +// Bluetooth GATT Service service identifiers. The service name is used +// only for service objects hosted by bluetoothd. +const char kBluetoothGattServiceServiceName[] = "org.bluez"; +const char kBluetoothGattServiceInterface[] = "org.bluez.GattService1"; + +// Bluetooth GATT Service properties. +const char kUUIDProperty[] = "UUID"; +const char kDeviceProperty[] = "Device"; +const char kPrimaryProperty[] = "Primary"; +const char kIncludesProperty[] = "Includes"; +const char kCharacteristicsProperty[] = "Characteristics"; + +// Bluetooth GATT Service errors. +const char kErrorFailed[] = "org.bluez.Error.Failed"; +const char kErrorInProgress[] = "org.bluez.Error.InProgress"; +const char kErrorInvalidValueLength[] = "org.bluez.Error.InvalidValueLength"; +const char kErrorNotAuthorized[] = "org.bluez.Error.NotAuthorized"; +const char kErrorNotPaired[] = "org.bluez.Error.NotPaired"; +const char kErrorNotSupported[] = "org.bluez.Error.NotSupported"; +const char kErrorReadNotPermitted[] = "org.bluez.Error.ReadNotPermitted"; +const char kErrorWriteNotPermitted[] = "org.bluez.Error.WriteNotPermitted"; +} // namespace bluetooth_gatt_service + +namespace bluetooth_input { +// Bluetooth Input service identifiers. +const char kBluetoothInputServiceName[] = "org.bluez"; +const char kBluetoothInputInterface[] = "org.bluez.Input1"; + +// Bluetooth Input properties. +const char kReconnectModeProperty[] = "ReconnectMode"; + +// Bluetooth Input property values. +const char kNoneReconnectModeProperty[] = "none"; +const char kHostReconnectModeProperty[] = "host"; +const char kDeviceReconnectModeProperty[] = "device"; +const char kAnyReconnectModeProperty[] = "any"; +} // namespace bluetooth_input + +namespace bluetooth_media { +// Bluetooth Media service identifiers +const char kBluetoothMediaServiceName[] = "org.bluez"; +const char kBluetoothMediaInterface[] = "org.bluez.Media1"; + +// Bluetooth Media methods +const char kRegisterEndpoint[] = "RegisterEndpoint"; +const char kUnregisterEndpoint[] = "UnregisterEndpoint"; +const char kRegisterPlayer[] = "RegisterPlayer"; +const char kUnregisterPlayer[] = "UnregisterPlayer"; + +// Bluetooth Media errors +const char kErrorFailed[] = "org.bluez.Error.Failed"; +const char kErrorInvalidArguments[] = "org.bluez.Error.InvalidArguments"; +const char kErrorNotSupported[] = "org.bluez.Error.NotSupported"; +} // namespace bluetooth_media + +namespace bluetooth_media_endpoint { +// Bluetooth Media Endpoint service identifiers +const char kBluetoothMediaEndpointServiceName[] = "org.bluez"; +const char kBluetoothMediaEndpointInterface[] = "org.bluez.MediaEndpoint1"; + +// Bluetooth Media Endpoint methods +const char kSetConfiguration[] = "SetConfiguration"; +const char kSelectConfiguration[] = "SelectConfiguration"; +const char kClearConfiguration[] = "ClearConfiguration"; +const char kRelease[] = "Release"; +} // namespace bluetooth_media_endpoint + +namespace bluetooth_media_transport { +// Bluetooth Media Transport service identifiers +const char kBluetoothMediaTransportServiceName[] = "org.bluez"; +const char kBluetoothMediaTransportInterface[] = "org.bluez.MediaTransport1"; + +// Bluetooth Media Transport methods +const char kAcquire[] = "Acquire"; +const char kTryAcquire[] = "TryAcquire"; +const char kRelease[] = "Release"; + +// Bluetooth Media Transport property names. +const char kDeviceProperty[] = "Device"; +const char kUUIDProperty[] = "UUID"; +const char kCodecProperty[] = "Codec"; +const char kConfigurationProperty[] = "Configuration"; +const char kStateProperty[] = "State"; +const char kDelayProperty[] = "Delay"; +const char kVolumeProperty[] = "Volume"; + +// Possible states for the "State" property +const char kStateIdle[] = "idle"; +const char kStatePending[] = "pending"; +const char kStateActive[] = "active"; + +// Bluetooth Media Transport errors. +const char kErrorFailed[] = "org.bluez.Error.Failed"; +const char kErrorNotAuthorized[] = "org.bluez.Error.NotAuthorized"; +const char kErrorNotAvailable[] = "org.bluez.Error.NotAvailable"; +} // namespace bluetooth_media_transport + +namespace bluetooth_object_manager { +// Bluetooth daemon Object Manager service identifiers. +const char kBluetoothObjectManagerServiceName[] = "org.bluez"; +const char kBluetoothObjectManagerServicePath[] = "/"; +} // namespace bluetooth_object_manager + +namespace bluetooth_profile_manager { +// Bluetooth Profile Manager service identifiers. +const char kBluetoothProfileManagerServiceName[] = "org.bluez"; +const char kBluetoothProfileManagerServicePath[] = "/org/bluez"; +const char kBluetoothProfileManagerInterface[] = "org.bluez.ProfileManager1"; + +// Bluetooth Profile Manager methods. +const char kRegisterProfile[] = "RegisterProfile"; +const char kUnregisterProfile[] = "UnregisterProfile"; + +// Bluetooth Profile Manager option names. +const char kNameOption[] = "Name"; +const char kServiceOption[] = "Service"; +const char kRoleOption[] = "Role"; +const char kChannelOption[] = "Channel"; +const char kPSMOption[] = "PSM"; +const char kRequireAuthenticationOption[] = "RequireAuthentication"; +const char kRequireAuthorizationOption[] = "RequireAuthorization"; +const char kAutoConnectOption[] = "AutoConnect"; +const char kServiceRecordOption[] = "ServiceRecord"; +const char kVersionOption[] = "Version"; +const char kFeaturesOption[] = "Features"; + +// Bluetooth Profile Manager option values. +const char kClientRoleOption[] = "client"; +const char kServerRoleOption[] = "server"; + +// Bluetooth Profile Manager errors. +const char kErrorInvalidArguments[] = "org.bluez.Error.InvalidArguments"; +const char kErrorAlreadyExists[] = "org.bluez.Error.AlreadyExists"; +const char kErrorDoesNotExist[] = "org.bluez.Error.DoesNotExist"; +} // namespace bluetooth_profile_manager + +namespace bluetooth_profile { +// Bluetooth Profile service identifiers. +const char kBluetoothProfileInterface[] = "org.bluez.Profile1"; + +// Bluetooth Profile methods. +const char kRelease[] = "Release"; +const char kNewConnection[] = "NewConnection"; +const char kRequestDisconnection[] = "RequestDisconnection"; +const char kCancel[] = "Cancel"; + +// Bluetooth Profile property names. +const char kVersionProperty[] = "Version"; +const char kFeaturesProperty[] = "Features"; + +// Bluetooth Profile errors. +const char kErrorRejected[] = "org.bluez.Error.Rejected"; +const char kErrorCanceled[] = "org.bluez.Error.Canceled"; +} // namespace bluetooth_profile + +namespace bluetooth_advertisement { +// Bluetooth LE Advertisement service identifiers. +const char kBluetoothAdvertisementServiceName[] = "org.bluez"; +const char kBluetoothAdvertisementInterface[] = + "org.bluez.LEAdvertisement1"; + +// Bluetooth Advertisement methods. +const char kRelease[] = "Release"; + +// Bluetooth Advertisement properties. +const char kManufacturerDataProperty[] = "ManufacturerData"; +const char kServiceUUIDsProperty[] = "ServiceUUIDs"; +const char kServiceDataProperty[] = "ServiceData"; +const char kSolicitUUIDsProperty[] = "SolicitUUIDs"; +const char kTypeProperty[] = "Type"; +const char kIncludeTxPowerProperty[] = "IncludeTxPower"; + +// Possible values for the "Type" property. +const char kTypeBroadcast[] = "broadcast"; +const char kTypePeripheral[] = "peripheral"; + +} // namespace bluetooth_advertisement + +namespace bluetooth_advertising_manager { +// Bluetooth LE Advertising Manager service identifiers. +const char kBluetoothAdvertisingManagerServiceName[] = "org.bluez"; +const char kBluetoothAdvertisingManagerInterface[] = + "org.bluez.LEAdvertisingManager1"; + +// Bluetooth LE Advertising Manager methods. +const char kRegisterAdvertisement[] = "RegisterAdvertisement"; +const char kUnregisterAdvertisement[] = "UnregisterAdvertisement"; + +// Bluetooth LE Advertising Manager errors. +const char kErrorAlreadyExists[] = "org.bluez.Error.AlreadyExists"; +const char kErrorDoesNotExist[] = "org.bluez.Error.DoesNotExist"; +const char kErrorFailed[] = "org.bluez.Error.Failed"; +const char kErrorInvalidArguments[] = "org.bluez.Error.InvalidArguments"; +const char kErrorInvalidLength[] = "org.bluez.Error.InvalidLength"; +} // namespace bluetooth_advertising_manager + +namespace nfc_adapter { +// NFC Adapter service identifiers. +const char kNfcAdapterServiceName[] = "org.neard"; +const char kNfcAdapterInterface[] = "org.neard.Adapter"; + +// NFC Adapter methods. +const char kStartEmulation[] = "StartEmulation"; +const char kStartPollLoop[] = "StartPollLoop"; +const char kStopEmulation[] = "StopEmulation"; +const char kStopPollLoop[] = "StopPollLoop"; + +// NFC Adapter signals. +const char kTagFoundSignal[] = "TagFound"; +const char kTagLostSignal[] = "TagLost"; + +// NFC Adapter properties. +const char kDevicesProperty[] = "Devices"; +const char kModeProperty[] = "Mode"; +const char kPollingProperty[] = "Polling"; +const char kPoweredProperty[] = "Powered"; +const char kProtocolsProperty[] = "Protocols"; +const char kTagsProperty[] = "Tags"; + +// NFC Adapter mode values. +const char kModeInitiator[] = "Initiator"; +const char kModeTarget[] = "Target"; +const char kModeIdle[] = "Idle"; + +} // namespace nfc_adapter + +namespace nfc_device { +// NFC Device service identifiers. +const char kNfcDeviceServiceName[] = "org.neard"; +const char kNfcDeviceInterface[] = "org.neard.Device"; + +// NFC Device methods. +const char kPush[] = "Push"; + +// NFC Device properties. +const char kRecordsProperty[] = "Records"; + +} // namespace nfc_device + +namespace nfc_manager { +// NFC Manager service identifiers. +const char kNfcManagerServiceName[] = "org.neard"; +const char kNfcManagerServicePath[] = "/"; +const char kNfcManagerInterface[] = "org.neard.Manager"; + +// NFC Manager methods. +const char kRegisterHandoverAgent[] = "RegisterHandoverAgent"; +const char kUnregisterHandoverAgent[] = "UnregisterHandoverAgent"; +const char kRegisterNDEFAgent[] = "RegisterNDEFAgent"; +const char kUnregisterNDEFAgent[] = "UnregisterNDEFAgent"; + +// NFC Manager signals. +const char kAdapterAddedSignal[] = "AdapterAdded"; +const char kAdapterRemovedSignal[] = "AdapterRemoved"; + +// NFC Manager properties. +const char kAdaptersProperty[] = "Adapters"; + +// NFC Manager handover carrier values. +const char kCarrierBluetooth[] = "bluetooth"; +const char kCarrierWifi[] = "wifi"; +} // namespace nfc_manager + +namespace nfc_tag { +// NFC Tag service identifiers. +const char kNfcTagServiceName[] = "org.neard"; +const char kNfcTagInterface[] = "org.neard.Tag"; + +// NFC Tag methods. +const char kWrite[] = "Write"; + +// NFC Tag properties. +const char kProtocolProperty[] = "Protocol"; +const char kReadOnlyProperty[] = "ReadOnly"; +const char kRecordsProperty[] = "Records"; +const char kTypeProperty[] = "Type"; + +// NFC Tag type values. +const char kTagType1[] = "Type 1"; +const char kTagType2[] = "Type 2"; +const char kTagType3[] = "Type 3"; +const char kTagType4[] = "Type 4"; + +} // namespace nfc_tag + +namespace nfc_record { +// NFC Record service identifiers. +const char kNfcRecordServiceName[] = "org.neard"; +const char kNfcRecordInterface[] = "org.neard.Record"; + +// NFC Record properties. +const char kTypeProperty[] = "Type"; +const char kEncodingProperty[] = "Encoding"; +const char kLanguageProperty[] = "Language"; +const char kRepresentationProperty[] = "Representation"; +const char kUriProperty[] = "URI"; +const char kMimeTypeProperty[] = "MIMEType"; +const char kSizeProperty[] = "Size"; +const char kActionProperty[] = "Action"; + +// NFC Record type values. +const char kTypeSmartPoster[] = "SmartPoster"; +const char kTypeText[] = "Text"; +const char kTypeUri[] = "URI"; +const char kTypeHandoverRequest[] = "HandoverRequest"; +const char kTypeHandoverSelect[] = "HandoverSelect"; +const char kTypeHandoverCarrier[] = "HandoverCarrier"; + +// NFC Record encoding values. +const char kEncodingUtf8[] = "UTF-8"; +const char kEncodingUtf16[] = "UTF-16"; +} // namespace nfc_record + +namespace nfc_handover_agent { +// NFC Handover Agent service identifiers. +// TODO(armansito): Add the correct service name once the HandoverAgent feature +// is fully implemented. +const char kNfcHandoverAgentServiceName[] = ""; +const char kNfcHandoverInterface[] = "org.neard.HandoverAgent"; + +// NFC Handover Agent methods. +const char kRequestOOB[] = "RequestOOB"; +const char kPushOOB[] = "PushOOB"; +const char kRelease[] = "Release"; + +// NFC Handover Agent properties. +const char kEIRProperty[] = "EIR"; +const char kNokiaDotComBtProperty[] = "nokia.com:bt"; +const char kWSCProperty[] = "WSC"; +const char kStateProperty[] = "State"; +} // namespace nfc_handover_agent + +namespace nfc_ndef_agent { +// NFC NDEF Agent service identifiers. +// TODO(armansito): Add the correct service name once the NDEFAgent feature +// is fully implemented. +const char kNfcNdefAgentServiceName[] = ""; +const char kNfcNdefAgentInterface[] = "org.neard.NDEFAgent"; + +// NFC NDEF Agent methods. +const char kGetNDEF[] = "GetNDEF"; +const char kRelease[] = "Release"; + +// NFC NDEF properties. +const char kNDEFProperty[] = "NDEF"; +const char kRecordProperty[] = "Record"; +} // namespace nfc_ndef_agent + +namespace nfc_common { +// NFC Adapter/Tag protocol values. +const char kProtocolFelica[] = "Felica"; +const char kProtocolMifare[] = "MIFARE"; +const char kProtocolJewel[] = "Jewel"; +const char kProtocolIsoDep[] = "ISO-DEP"; +const char kProtocolNfcDep[] = "NFC-DEP"; + +// Common methods for NFC property access and signals. +const char kGetProperties[] = "GetProperties"; +const char kSetProperty[] = "SetProperty"; +const char kPropertyChangedSignal[] = "PropertyChanged"; +} // namespace nfc_common + +namespace nfc_error { +// NFC errors. +const char kAlreadyExists[] = "org.neard.Error.AlreadyExists"; +const char kDoesNotExist[] = "org.neard.Error.DoesNotExist"; +const char kFailed[] = "org.neard.Error.Failed"; +const char kInProgress[] = "org.neard.Error.InProgress"; +const char kInvalidArguments[] = "org.neard.Error.InvalidArguments"; +const char kNotReady[] = "org.neard.Error.NotReady"; +const char kNotSupported[] = "org.neard.Error.NotSupported"; +const char kPermissionDenied[] = "org.neard.Error.PermissionDenied"; + +// NFC Handover Agent errors. +const char kHandoverAgentFailed[] = "org.neard.HandoverAgent.Error.Failed"; +const char kHandoverAgentInProgress[] = + "org.neard.HandoverAgent.Error.InProgress"; +} // namespace nfc_error + +namespace mtpd { +const char kMtpdInterface[] = "org.chromium.Mtpd"; +const char kMtpdServicePath[] = "/org/chromium/Mtpd"; +const char kMtpdServiceName[] = "org.chromium.Mtpd"; +const char kMtpdServiceError[] = "org.chromium.Mtpd.Error"; + +// Methods. +const char kEnumerateStorages[] = "EnumerateStorages"; +const char kGetStorageInfo[] = "GetStorageInfo"; +const char kGetStorageInfoFromDevice[] = "GetStorageInfoFromDevice"; +const char kOpenStorage[] = "OpenStorage"; +const char kCloseStorage[] = "CloseStorage"; +const char kReadDirectoryEntryIds[] = "ReadDirectoryEntryIds"; +const char kGetFileInfo[] = "GetFileInfo"; +const char kReadFileChunk[] = "ReadFileChunk"; +const char kCopyFileFromLocal[] = "CopyFileFromLocal"; +const char kDeleteObject[] = "DeleteObject"; +const char kRenameObject[] = "RenameObject"; +const char kCreateDirectory[] = "CreateDirectory"; + +// Signals. +const char kMTPStorageAttached[] = "MTPStorageAttached"; +const char kMTPStorageDetached[] = "MTPStorageDetached"; + +// For FileEntry struct: +const uint32_t kInvalidFileId = 0xffffffff; + +// For OpenStorage method: +const char kReadOnlyMode[] = "ro"; +const char kReadWriteMode[] = "rw"; + +// For GetFileInfo() method: +// The id of the root node in a storage, as defined by the PTP/MTP standards. +// Use this when referring to the root node in the context of GetFileInfo(). +const uint32_t kRootFileId = 0; +} // namespace mtpd + +namespace system_clock { +const char kSystemClockInterface[] = "org.torproject.tlsdate"; +const char kSystemClockServicePath[] = "/org/torproject/tlsdate"; +const char kSystemClockServiceName[] = "org.torproject.tlsdate"; + +// Methods. +const char kSystemClockCanSet[] = "CanSetTime"; +const char kSystemClockSet[] = "SetTime"; + +// Signals. +const char kSystemClockUpdated[] = "TimeUpdated"; +} // namespace system_clock + +namespace cras { +const char kCrasServicePath[] = "/org/chromium/cras"; +const char kCrasServiceName[] = "org.chromium.cras"; +const char kCrasControlInterface[] = "org.chromium.cras.Control"; + +// Methods. +const char kSetOutputVolume[] = "SetOutputVolume"; +const char kSetOutputNodeVolume[] = "SetOutputNodeVolume"; +const char kSwapLeftRight[] = "SwapLeftRight"; +const char kSetOutputMute[] = "SetOutputMute"; +const char kSetOutputUserMute[] = "SetOutputUserMute"; +const char kSetSuspendAudio[] = "SetSuspendAudio"; +const char kSetInputGain[] = "SetInputGain"; +const char kSetInputNodeGain[] = "SetInputNodeGain"; +const char kSetInputMute[] = "SetInputMute"; +const char kGetVolumeState[] = "GetVolumeState"; +const char kGetNodes[] = "GetNodes"; +const char kSetActiveOutputNode[] = "SetActiveOutputNode"; +const char kSetActiveInputNode[] = "SetActiveInputNode"; +const char kAddActiveOutputNode[] = "AddActiveOutputNode"; +const char kAddActiveInputNode[] = "AddActiveInputNode"; +const char kRemoveActiveOutputNode[] = "RemoveActiveOutputNode"; +const char kRemoveActiveInputNode[] = "RemoveActiveInputNode"; +const char kGetNumberOfActiveStreams[] = "GetNumberOfActiveStreams"; +const char kGetNumberOfActiveInputStreams[] = "GetNumberOfActiveInputStreams"; +const char kGetNumberOfActiveOutputStreams[] = "GetNumberOfActiveOutputStreams"; +const char kSetGlobalOutputChannelRemix[] = "SetGlobalOutputChannelRemix"; + +// Names of properties returned by GetNodes() +const char kIsInputProperty[] = "IsInput"; +const char kIdProperty[] = "Id"; +const char kTypeProperty[] = "Type"; +const char kNameProperty[] = "Name"; +const char kDeviceNameProperty[] = "DeviceName"; +const char kActiveProperty[] = "Active"; +const char kPluggedTimeProperty[] = "PluggedTime"; +const char kMicPositionsProperty[] = "MicPositions"; +const char kStableDeviceIdProperty[] = "StableDeviceId"; + +// Signals. +const char kOutputVolumeChanged[] = "OutputVolumeChanged"; +const char kOutputMuteChanged[] = "OutputMuteChanged"; +const char kOutputNodeVolumeChanged[] = "OutputNodeVolumeChanged"; +const char kNodeLeftRightSwappedChanged[] = "NodeLeftRightSwappedChanged"; +const char kInputGainChanged[] = "InputGainChanged"; +const char kInputMuteChanged[] = "InputMuteChanged"; +const char kNodesChanged[] = "NodesChanged"; +const char kActiveOutputNodeChanged[] = "ActiveOutputNodeChanged"; +const char kActiveInputNodeChanged[] = "ActiveInputNodeChanged"; +const char kNumberOfActiveStreamsChanged[] = "NumberOfActiveStreamsChanged"; +} // namespace cras + +namespace feedback { +const char kFeedbackServicePath[] = "/org/chromium/feedback"; +const char kFeedbackServiceName[] = "org.chromium.feedback"; + +// Methods. +const char kSendFeedback[] = "SendFeedback"; +} // namespace feedback + +namespace easy_unlock { +const char kEasyUnlockServicePath[] = "/org/chromium/EasyUnlock"; +const char kEasyUnlockServiceName[] = "org.chromium.EasyUnlock"; +const char kEasyUnlockServiceInterface[] = "org.chromium.EasyUnlock"; + +// Values supplied as enrcryption type to CreateSecureMessage and +// UnwrapSecureMessage methods. +const char kEncryptionTypeNone[] = "NONE"; +const char kEncryptionTypeAES256CBC[] = "AES_256_CBC"; + +// Values supplied as signature type to CreateSecureMessage and +// UnwrapSecureMessage methods. +const char kSignatureTypeECDSAP256SHA256[] = "ECDSA_P256_SHA256"; +const char kSignatureTypeHMACSHA256[] = "HMAC_SHA256"; + +// Values supplied as key algorithm to WrapPublicKey method. +const char kKeyAlgorithmRSA[] = "RSA"; +const char kKeyAlgorithmECDSA[] = "ECDSA"; + +// Methods +const char kPerformECDHKeyAgreementMethod[] = "PerformECDHKeyAgreement"; +const char kWrapPublicKeyMethod[] = "WrapPublicKey"; +const char kGenerateEcP256KeyPairMethod[] = "GenerateEcP256KeyPair"; +const char kCreateSecureMessageMethod[] = "CreateSecureMessage"; +const char kUnwrapSecureMessageMethod[] = "UnwrapSecureMessage"; +} // namespace easy_unlock + +#endif // SYSTEM_API_DBUS_SERVICE_CONSTANTS_H_
diff --git a/system_api/dbus/shill/dbus-constants.h b/system_api/dbus/shill/dbus-constants.h new file mode 100644 index 0000000..bc76aed --- /dev/null +++ b/system_api/dbus/shill/dbus-constants.h
@@ -0,0 +1,733 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_SHILL_DBUS_CONSTANTS_H_ +#define SYSTEM_API_DBUS_SHILL_DBUS_CONSTANTS_H_ + +// TODO(benchan): Reorganize shill constants and remove deprecated ones. +namespace shill { +// Flimflam D-Bus service identifiers. +const char kFlimflamManagerInterface[] = "org.chromium.flimflam.Manager"; +const char kFlimflamServiceName[] = "org.chromium.flimflam"; +const char kFlimflamServicePath[] = "/"; // crosbug.com/20135 +const char kFlimflamServiceInterface[] = "org.chromium.flimflam.Service"; +const char kFlimflamIPConfigInterface[] = "org.chromium.flimflam.IPConfig"; +const char kFlimflamDeviceInterface[] = "org.chromium.flimflam.Device"; +const char kFlimflamProfileInterface[] = "org.chromium.flimflam.Profile"; +const char kFlimflamNetworkInterface[] = "org.chromium.flimflam.Network"; +const char kFlimflamThirdPartyVpnInterface[] = + "org.chromium.flimflam.ThirdPartyVpn"; + +// Flimflam function names. +const char kGetPropertiesFunction[] = "GetProperties"; +const char kSetPropertyFunction[] = "SetProperty"; +const char kClearPropertyFunction[] = "ClearProperty"; +const char kConnectFunction[] = "Connect"; +const char kDisconnectFunction[] = "Disconnect"; +const char kRequestScanFunction[] = "RequestScan"; +const char kGetServiceFunction[] = "GetService"; +const char kGetWifiServiceFunction[] = "GetWifiService"; +const char kGetVPNServiceFunction[] = "GetVPNService"; +const char kRemoveServiceFunction[] = "Remove"; +const char kEnableTechnologyFunction[] = "EnableTechnology"; +const char kDisableTechnologyFunction[] = "DisableTechnology"; +const char kAddIPConfigFunction[] = "AddIPConfig"; +const char kRemoveConfigFunction[] = "Remove"; +const char kGetEntryFunction[] = "GetEntry"; +const char kDeleteEntryFunction[] = "DeleteEntry"; +const char kActivateCellularModemFunction[] = "ActivateCellularModem"; +const char kRequirePinFunction[] = "RequirePin"; +const char kEnterPinFunction[] = "EnterPin"; +const char kUnblockPinFunction[] = "UnblockPin"; +const char kChangePinFunction[] = "ChangePin"; +const char kProposeScanFunction[] = "ProposeScan"; +const char kRegisterFunction[] = "Register"; +const char kConfigureServiceFunction[] = "ConfigureService"; +const char kConfigureWifiServiceFunction[] = "ConfigureWifiService"; +const char kFindMatchingServiceFunction[] = "FindMatchingService"; + +// Flimflam Service property names. +const char kSecurityProperty[] = "Security"; +const char kPriorityProperty[] = "Priority"; +const char kPriorityWithinTechnologyProperty[] = "PriorityWithinTechnology"; +const char kPassphraseProperty[] = "Passphrase"; +const char kIdentityProperty[] = "Identity"; +const char kAuthorityPathProperty[] = "AuthorityPath"; +const char kPassphraseRequiredProperty[] = "PassphraseRequired"; +const char kSaveCredentialsProperty[] = "SaveCredentials"; +const char kSignalStrengthProperty[] = "Strength"; +const char kNameProperty[] = "Name"; +const char kGuidProperty[] = "GUID"; +const char kStateProperty[] = "State"; +const char kTypeProperty[] = "Type"; +const char kDeviceProperty[] = "Device"; +const char kProfileProperty[] = "Profile"; +const char kConnectivityStateProperty[] = "ConnectivityState"; +const char kConnectableProperty[] = "Connectable"; +const char kAutoConnectProperty[] = "AutoConnect"; +const char kIsActiveProperty[] = "IsActive"; +const char kModeProperty[] = "Mode"; +const char kErrorProperty[] = "Error"; +const char kProviderProperty[] = "Provider"; +const char kHostProperty[] = "Host"; +const char kDomainProperty[] = "Domain"; +const char kProxyConfigProperty[] = "ProxyConfig"; +const char kCheckPortalProperty[] = "CheckPortal"; +const char kSSIDProperty[] = "SSID"; +const char kConnectedProperty[] = "Connected"; +const char kUIDataProperty[] = "UIData"; +const char kConnectionIdProperty[] = "ConnectionId"; +const char kVisibleProperty[] = "Visible"; +const char kDnsAutoFallbackProperty[] = "DNSAutoFallback"; +const char kPortalDetectionFailedPhaseProperty[] = + "PortalDetectionFailedPhase"; +const char kPortalDetectionFailedStatusProperty[] = + "PortalDetectionFailedStatus"; +const char kSavedIPConfigProperty[] = "SavedIPConfig"; +const char kStaticIPConfigProperty[] = "StaticIPConfig"; +const char kLinkMonitorDisableProperty[] = "LinkMonitorDisable"; +const char kSecurityClassProperty[] = "SecurityClass"; + +// Flimflam provider property names. +const char kProviderHostProperty[] = "Provider.Host"; +const char kProviderNameProperty[] = "Provider.Name"; +const char kProviderTypeProperty[] = "Provider.Type"; + +// Flimflam Wifi Service property names. +const char kWifiBSsid[] = "WiFi.BSSID"; +const char kWifiHexSsid[] = "WiFi.HexSSID"; +const char kWifiFrequency[] = "WiFi.Frequency"; +const char kWifiHiddenSsid[] = "WiFi.HiddenSSID"; +const char kWifiPhyMode[] = "WiFi.PhyMode"; +const char kWifiAuthMode[] = "WiFi.AuthMode"; +const char kWifiChannelProperty[] = "WiFi.Channel"; +const char kWifiPreferredDeviceProperty[] = "WiFi.PreferredDevice"; +const char kWifiRoamThresholdProperty[] = "WiFi.RoamThreshold"; + +// Flimflam EAP property names. +const char kEapIdentityProperty[] = "EAP.Identity"; +const char kEapMethodProperty[] = "EAP.EAP"; +const char kEapPhase2AuthProperty[] = "EAP.InnerEAP"; +const char kEapAnonymousIdentityProperty[] = "EAP.AnonymousIdentity"; +const char kEapClientCertProperty[] = "EAP.ClientCert"; +const char kEapCertIdProperty[] = "EAP.CertID"; +const char kEapClientCertNssProperty[] = "EAP.ClientCertNSS"; +const char kEapPrivateKeyProperty[] = "EAP.PrivateKey"; +const char kEapPrivateKeyPasswordProperty[] = "EAP.PrivateKeyPassword"; +const char kEapKeyIdProperty[] = "EAP.KeyID"; +const char kEapCaCertProperty[] = "EAP.CACert"; +const char kEapCaCertIdProperty[] = "EAP.CACertID"; +const char kEapCaCertNssProperty[] = "EAP.CACertNSS"; +const char kEapUseSystemCasProperty[] = "EAP.UseSystemCAs"; +const char kEapUseProactiveKeyCachingProperty[] = "EAP.UseProactiveKeyCaching"; +const char kEapPinProperty[] = "EAP.PIN"; +const char kEapPasswordProperty[] = "EAP.Password"; +const char kEapKeyMgmtProperty[] = "EAP.KeyMgmt"; + +// Flimflam Cellular Service property names. +const char kTechnologyFamilyProperty[] = "Cellular.Family"; +const char kActivationStateProperty[] = "Cellular.ActivationState"; +const char kNetworkTechnologyProperty[] = "Cellular.NetworkTechnology"; +const char kRoamingStateProperty[] = "Cellular.RoamingState"; +const char kOperatorNameProperty[] = "Cellular.OperatorName"; +const char kOperatorCodeProperty[] = "Cellular.OperatorCode"; +const char kServingOperatorProperty[] = "Cellular.ServingOperator"; +const char kPaymentPortalProperty[] = "Cellular.Olp"; +const char kUsageURLProperty[] = "Cellular.UsageUrl"; +const char kCellularApnProperty[] = "Cellular.APN"; +const char kCellularLastGoodApnProperty[] = "Cellular.LastGoodAPN"; +const char kCellularApnListProperty[] = "Cellular.APNList"; + +// Flimflam Manager property names. +const char kProfilesProperty[] = "Profiles"; +const char kServicesProperty[] = "Services"; +const char kServiceWatchListProperty[] = "ServiceWatchList"; +const char kAvailableTechnologiesProperty[] = "AvailableTechnologies"; +const char kEnabledTechnologiesProperty[] = "EnabledTechnologies"; +const char kConnectedTechnologiesProperty[] = "ConnectedTechnologies"; +const char kDefaultTechnologyProperty[] = "DefaultTechnology"; +const char kOfflineModeProperty[] = "OfflineMode"; +const char kActiveProfileProperty[] = "ActiveProfile"; +const char kDevicesProperty[] = "Devices"; +const char kCheckPortalListProperty[] = "CheckPortalList"; +const char kArpGatewayProperty[] = "ArpGateway"; +const char kCountryProperty[] = "Country"; +const char kPortalURLProperty[] = "PortalURL"; +const char kConnectionStateProperty[] = "ConnectionState"; +const char kClaimedDevicesProperty[] = "ClaimedDevices"; + +// Flimflam Profile property names. +const char kEntriesProperty[] = "Entries"; + +// Flimflam Device property names. +const char kScanningProperty[] = "Scanning"; +const char kPoweredProperty[] = "Powered"; +const char kNetworksProperty[] = "Networks"; +const char kScanIntervalProperty[] = "ScanInterval"; +const char kBgscanMethodProperty[] = "BgscanMethod"; +const char kBgscanShortIntervalProperty[] = "BgscanShortInterval"; +const char kRoamThresholdProperty[] = "RoamThreshold"; +const char kDBusObjectProperty[] = "DBus.Object"; +const char kDBusServiceProperty[] = "DBus.Service"; +const char kBgscanSignalThresholdProperty[] = "BgscanSignalThreshold"; +const char kWakeToScanPeriodSecondsProperty[] = "WakeToScanPeriodSeconds"; +const char kNetDetectScanPeriodSecondsProperty[] = "NetDetectScanPeriodSeconds"; +const char kForceWakeToScanTimerProperty[] = "ForceWakeToScanTimer"; +// The name of the network interface, ie. wlan0, eth0, etc. +const char kInterfaceProperty[] = "Interface"; +const char kSelectedServiceProperty[] = "SelectedService"; +const char kIPConfigsProperty[] = "IPConfigs"; +const char kMACAddressRandomizationProperty[] = "MACAddressRandomization"; + +// Flimflam Cellular Device property names. +const char kCarrierProperty[] = "Cellular.Carrier"; +const char kCellularAllowRoamingProperty[] = "Cellular.AllowRoaming"; +const char kHomeProviderProperty[] = "Cellular.HomeProvider"; +const char kMeidProperty[] = "Cellular.MEID"; +const char kImeiProperty[] = "Cellular.IMEI"; +const char kIccidProperty[] = "Cellular.ICCID"; +const char kImsiProperty[] = "Cellular.IMSI"; +const char kEsnProperty[] = "Cellular.ESN"; +const char kMdnProperty[] = "Cellular.MDN"; +const char kMinProperty[] = "Cellular.MIN"; +const char kModelIDProperty[] = "Cellular.ModelID"; +const char kManufacturerProperty[] = "Cellular.Manufacturer"; +const char kFirmwareRevisionProperty[] = "Cellular.FirmwareRevision"; +const char kHardwareRevisionProperty[] = "Cellular.HardwareRevision"; +const char kPRLVersionProperty[] = "Cellular.PRLVersion"; +const char kSelectedNetworkProperty[] = "Cellular.SelectedNetwork"; +const char kSupportNetworkScanProperty[] = "Cellular.SupportNetworkScan"; +const char kFoundNetworksProperty[] = "Cellular.FoundNetworks"; + +// Flimflam state options. +const char kStateIdle[] = "idle"; +const char kStateCarrier[] = "carrier"; +const char kStateAssociation[] = "association"; +const char kStateConfiguration[] = "configuration"; +const char kStateReady[] = "ready"; +const char kStatePortal[] = "portal"; +const char kStateOffline[] = "offline"; +const char kStateOnline[] = "online"; +const char kStateDisconnect[] = "disconnect"; +const char kStateFailure[] = "failure"; +const char kStateActivationFailure[] = "activation-failure"; + +// Flimflam portal phase and status. +const char kPortalDetectionPhaseConnection[] = "Connection"; +const char kPortalDetectionPhaseDns[] = "DNS"; +const char kPortalDetectionPhaseHttp[] = "HTTP"; +const char kPortalDetectionPhaseContent[] = "Content"; +const char kPortalDetectionPhaseUnknown[] = "Unknown"; +const char kPortalDetectionStatusFailure[] = "Failure"; +const char kPortalDetectionStatusTimeout[] = "Timeout"; +const char kPortalDetectionStatusSuccess[] = "Success"; + +// Flimflam property names for SIMLock status. +const char kSIMLockStatusProperty[] = "Cellular.SIMLockStatus"; +const char kSIMLockTypeProperty[] = "LockType"; +const char kSIMLockRetriesLeftProperty[] = "RetriesLeft"; +const char kSIMLockEnabledProperty[] = "LockEnabled"; + +// Flimflam property names for Cellular.FoundNetworks. +const char kLongNameProperty[] = "long_name"; +const char kStatusProperty[] = "status"; +const char kShortNameProperty[] = "short_name"; +const char kTechnologyProperty[] = "technology"; +const char kNetworkIdProperty[] = "network_id"; + +// Flimflam SIMLock status types. +const char kSIMLockPin[] = "sim-pin"; +const char kSIMLockPuk[] = "sim-puk"; + +// APN info property names. +const char kApnProperty[] = "apn"; +const char kApnNetworkIdProperty[] = "network_id"; +const char kApnUsernameProperty[] = "username"; +const char kApnPasswordProperty[] = "password"; +const char kApnNameProperty[] = "name"; +const char kApnLocalizedNameProperty[] = "localized_name"; +const char kApnLanguageProperty[] = "language"; + +// Payment Portal property names. +const char kPaymentPortalURL[] = "url"; +const char kPaymentPortalMethod[] = "method"; +const char kPaymentPortalPostData[] = "postdata"; + +// Operator info property names. +const char kOperatorNameKey[] = "name"; +const char kOperatorCodeKey[] = "code"; +const char kOperatorCountryKey[] = "country"; + +// Flimflam network technology options. +const char kNetworkTechnology1Xrtt[] = "1xRTT"; +const char kNetworkTechnologyEvdo[] = "EVDO"; +const char kNetworkTechnologyGsm[] = "GSM"; +const char kNetworkTechnologyGprs[] = "GPRS"; +const char kNetworkTechnologyEdge[] = "EDGE"; +const char kNetworkTechnologyUmts[] = "UMTS"; +const char kNetworkTechnologyHspa[] = "HSPA"; +const char kNetworkTechnologyHspaPlus[] = "HSPA+"; +const char kNetworkTechnologyLte[] = "LTE"; +const char kNetworkTechnologyLteAdvanced[] = "LTE Advanced"; + +// Flimflam roaming state options +const char kRoamingStateHome[] = "home"; +const char kRoamingStateRoaming[] = "roaming"; +const char kRoamingStateUnknown[] = "unknown"; + +// Flimflam activation state options +const char kActivationStateActivated[] = "activated"; +const char kActivationStateActivating[] = "activating"; +const char kActivationStateNotActivated[] = "not-activated"; +const char kActivationStatePartiallyActivated[] = "partially-activated"; +const char kActivationStateUnknown[] = "unknown"; + +// Flimflam EAP method options. +const char kEapMethodPEAP[] = "PEAP"; +const char kEapMethodTLS[] = "TLS"; +const char kEapMethodTTLS[] = "TTLS"; +const char kEapMethodLEAP[] = "LEAP"; + +// Flimflam EAP phase 2 auth options. +const char kEapPhase2AuthPEAPMD5[] = "auth=MD5"; +const char kEapPhase2AuthPEAPMSCHAPV2[] = "auth=MSCHAPV2"; +const char kEapPhase2AuthPEAPGTC[] = "auth=GTC"; +const char kEapPhase2AuthTTLSMD5[] = "autheap=MD5"; // crosbug/26822 +const char kEapPhase2AuthTTLSEAPMD5[] = "autheap=MD5"; +const char kEapPhase2AuthTTLSEAPMSCHAPV2[] = "autheap=MSCHAPV2"; +const char kEapPhase2AuthTTLSMSCHAPV2[] = "auth=MSCHAPV2"; +const char kEapPhase2AuthTTLSMSCHAP[] = "auth=MSCHAP"; +const char kEapPhase2AuthTTLSPAP[] = "auth=PAP"; +const char kEapPhase2AuthTTLSCHAP[] = "auth=CHAP"; +const char kEapPhase2AuthTTLSGTC[] = "auth=GTC"; +const char kEapPhase2AuthTTLSEAPGTC[] = "autheap=GTC"; + +// Flimflam VPN provider types. +const char kProviderL2tpIpsec[] = "l2tpipsec"; +const char kProviderOpenVpn[] = "openvpn"; +const char kProviderThirdPartyVpn[] = "thirdpartyvpn"; + +// Flimflam VPN service properties +const char kVPNDomainProperty[] = "VPN.Domain"; + +// Flimflam monitored properties +const char kMonitorPropertyChanged[] = "PropertyChanged"; + +// Flimflam type options. +const char kTypeEthernet[] = "ethernet"; +const char kTypeWifi[] = "wifi"; +const char kTypeWimax[] = "wimax"; +const char kTypeBluetooth[] = "bluetooth"; +const char kTypeCellular[] = "cellular"; +const char kTypeVPN[] = "vpn"; +const char kTypePPPoE[] = "pppoe"; + +// Flimflam mode options. +const char kModeManaged[] = "managed"; +const char kModeAdhoc[] = "adhoc"; + +// Flimflam security options. +const char kSecurityWpa[] = "wpa"; +const char kSecurityWep[] = "wep"; +const char kSecurityRsn[] = "rsn"; +const char kSecurity8021x[] = "802_1x"; +const char kSecurityPsk[] = "psk"; +const char kSecurityNone[] = "none"; + +// Flimflam L2TPIPsec property names. +const char kL2tpIpsecAuthenticationType[] = "L2TPIPsec.AuthenticationType"; +const char kL2tpIpsecCaCertNssProperty[] = "L2TPIPsec.CACertNSS"; +const char kL2tpIpsecClientCertIdProperty[] = "L2TPIPsec.ClientCertID"; +const char kL2tpIpsecClientCertSlotProperty[] = "L2TPIPsec.ClientCertSlot"; +const char kL2tpIpsecIkeVersion[] = "L2TPIPsec.IKEVersion"; +const char kL2tpIpsecPinProperty[] = "L2TPIPsec.PIN"; +const char kL2tpIpsecPskProperty[] = "L2TPIPsec.PSK"; +const char kL2tpIpsecPskRequiredProperty[] = "L2TPIPsec.PSKRequired"; +const char kL2tpIpsecUserProperty[] = "L2TPIPsec.User"; +const char kL2tpIpsecPasswordProperty[] = "L2TPIPsec.Password"; + +// Flimflam OpenVPN property names. +const char kOpenVPNAuthNoCacheProperty[] = "OpenVPN.AuthNoCache"; +const char kOpenVPNAuthProperty[] = "OpenVPN.Auth"; +const char kOpenVPNAuthRetryProperty[] = "OpenVPN.AuthRetry"; +const char kOpenVPNAuthUserPassProperty[] = "OpenVPN.AuthUserPass"; +const char kOpenVPNCaCertProperty[] = "OpenVPN.CACert"; +const char kOpenVPNCaCertNSSProperty[] = "OpenVPN.CACertNSS"; +const char kOpenVPNClientCertIdProperty[] = "OpenVPN.Pkcs11.ID"; +const char kOpenVPNClientCertSlotProperty[] = "OpenVPN.Pkcs11.Slot"; +const char kOpenVPNCipherProperty[] = "OpenVPN.Cipher"; +const char kOpenVPNCompLZOProperty[] = "OpenVPN.CompLZO"; +const char kOpenVPNCompNoAdaptProperty[] = "OpenVPN.CompNoAdapt"; +const char kOpenVPNIgnoreDefaultRouteProperty[] = "OpenVPN.IgnoreDefaultRoute"; +const char kOpenVPNKeyDirectionProperty[] = "OpenVPN.KeyDirection"; +const char kOpenVPNMgmtEnableProperty[] = "OpenVPN.Mgmt.Enable"; +const char kOpenVPNNsCertTypeProperty[] = "OpenVPN.NsCertType"; +const char kOpenVPNOTPProperty[] = "OpenVPN.OTP"; +const char kOpenVPNPasswordProperty[] = "OpenVPN.Password"; +const char kOpenVPNPinProperty[] = "OpenVPN.Pkcs11.PIN"; +const char kOpenVPNPortProperty[] = "OpenVPN.Port"; +const char kOpenVPNProtoProperty[] = "OpenVPN.Proto"; +const char kOpenVPNProviderProperty[] = "OpenVPN.Pkcs11.Provider"; +const char kOpenVPNPushPeerInfoProperty[] = "OpenVPN.PushPeerInfo"; +const char kOpenVPNRemoteCertEKUProperty[] = "OpenVPN.RemoteCertEKU"; +const char kOpenVPNRemoteCertKUProperty[] = "OpenVPN.RemoteCertKU"; +const char kOpenVPNRemoteCertTLSProperty[] = "OpenVPN.RemoteCertTLS"; +const char kOpenVPNRenegSecProperty[] = "OpenVPN.RenegSec"; +const char kOpenVPNServerPollTimeoutProperty[] = "OpenVPN.ServerPollTimeout"; +const char kOpenVPNShaperProperty[] = "OpenVPN.Shaper"; +const char kOpenVPNStaticChallengeProperty[] = "OpenVPN.StaticChallenge"; +const char kOpenVPNTLSAuthContentsProperty[] = "OpenVPN.TLSAuthContents"; +const char kOpenVPNTLSRemoteProperty[] = "OpenVPN.TLSRemote"; +const char kOpenVPNUserProperty[] = "OpenVPN.User"; + +// FlimFlam PPPoE property names. +const char kPPPoEUsernameProperty[] = "PPPoE.Username"; +const char kPPPoEPasswordProperty[] = "PPPoE.Password"; +const char kPPPoELCPEchoIntervalProperty[] = "PPPoE.LCPEchoInterval"; +const char kPPPoELCPEchoFailureProperty[] = "PPPoE.LCPEchoFailure"; +const char kPPPoEMaxAuthFailureProperty[] = "PPPoE.MaxAuthFailure"; + +// FlimFlam technology family options +const char kTechnologyFamilyCdma[] = "CDMA"; +const char kTechnologyFamilyGsm[] = "GSM"; + +// IPConfig property names. +const char kMethodProperty[] = "Method"; +const char kAddressProperty[] = "Address"; +const char kMtuProperty[] = "Mtu"; +const char kPrefixlenProperty[] = "Prefixlen"; +const char kBroadcastProperty[] = "Broadcast"; +const char kPeerAddressProperty[] = "PeerAddress"; +const char kGatewayProperty[] = "Gateway"; +const char kDomainNameProperty[] = "DomainName"; +const char kAcceptedHostnameProperty[] = "AcceptedHostname"; +const char kNameServersProperty[] = "NameServers"; +const char kDhcpv6AddressesProperty[] = "Dhcpv6Addresses"; +const char kDhcpv6DelegatedPrefixesProperty[] = "Dhcpv6DelegatedPrefixes"; +const char kLeaseDurationSecondsProperty[] = "LeaseDurationSeconds"; + +// These constants are deprecated in favor of kDhcpv6DelegatedPrefixesProperty. +// TODO(tjennison): Remove when shill no longer uses them b/26778228 +const char kDelegatedPrefixProperty[] = "DelegatedPrefix"; +const char kDelegatedPrefixLengthProperty[] = "DelegatedPrefixLength"; + +// IPConfig DHCPv6 address/prefix property names. +const char kDhcpv6AddressProperty[] = "Address"; +const char kDhcpv6LengthProperty[] = "Length"; +const char kDhcpv6LeaseDurationSecondsProperty[] = "LeaseDurationSeconds"; +const char kDhcpv6PreferredLeaseDurationSecondsProperty[] = + "PreferredLeaseDurationSeconds"; + +// IPConfig type options. +const char kTypeIPv4[] = "ipv4"; +const char kTypeIPv6[] = "ipv6"; +const char kTypeDHCP[] = "dhcp"; +const char kTypeBOOTP[] = "bootp"; +const char kTypeZeroConf[] = "zeroconf"; +const char kTypeDHCP6[] = "dhcp6"; +const char kTypePPP[] = "ppp"; + +// Flimflam error options. +const char kErrorAaaFailed[] = "aaa-failed"; +const char kErrorActivationFailed[] = "activation-failed"; +const char kErrorBadPassphrase[] = "bad-passphrase"; +const char kErrorBadWEPKey[] = "bad-wepkey"; +const char kErrorConnectFailed[] = "connect-failed"; +const char kErrorDNSLookupFailed[] = "dns-lookup-failed"; +const char kErrorDhcpFailed[] = "dhcp-failed"; +const char kErrorHTTPGetFailed[] = "http-get-failed"; +const char kErrorInternal[] = "internal-error"; +const char kErrorInvalidFailure[] = "invalid-failure"; +const char kErrorIpsecCertAuthFailed[] = "ipsec-cert-auth-failed"; +const char kErrorIpsecPskAuthFailed[] = "ipsec-psk-auth-failed"; +const char kErrorNeedEvdo[] = "need-evdo"; +const char kErrorNeedHomeNetwork[] = "need-home-network"; +const char kErrorNoFailure[] = "no-failure"; +const char kErrorOtaspFailed[] = "otasp-failed"; +const char kErrorOutOfRange[] = "out-of-range"; +const char kErrorPinMissing[] = "pin-missing"; +const char kErrorPppAuthFailed[] = "ppp-auth-failed"; +const char kErrorUnknownFailure[] = "unknown-failure"; + +// Flimflam error result codes. +const char kErrorResultSuccess[] = "org.chromium.flimflam.Error.Success"; +const char kErrorResultFailure[] = "org.chromium.flimflam.Error.Failure"; +const char kErrorResultAlreadyConnected[] = + "org.chromium.flimflam.Error.AlreadyConnected"; +const char kErrorResultAlreadyExists[] = + "org.chromium.flimflam.Error.AlreadyExists"; +const char kErrorResultIncorrectPin[] = + "org.chromium.flimflam.Error.IncorrectPin"; +const char kErrorResultInProgress[] = "org.chromium.flimflam.Error.InProgress"; +const char kErrorResultInternalError[] = + "org.chromium.flimflam.Error.InternalError"; +const char kErrorResultInvalidApn[] = "org.chromium.flimflam.Error.InvalidApn"; +const char kErrorResultInvalidArguments[] = + "org.chromium.flimflam.Error.InvalidArguments"; +const char kErrorResultInvalidNetworkName[] = + "org.chromium.flimflam.Error.InvalidNetworkName"; +const char kErrorResultInvalidPassphrase[] = + "org.chromium.flimflam.Error.InvalidPassphrase"; +const char kErrorResultInvalidProperty[] = + "org.chromium.flimflam.Error.InvalidProperty"; +const char kErrorResultNoCarrier[] = "org.chromium.flimflam.Error.NoCarrier"; +const char kErrorResultNotConnected[] = + "org.chromium.flimflam.Error.NotConnected"; +const char kErrorResultNotFound[] = "org.chromium.flimflam.Error.NotFound"; +const char kErrorResultNotImplemented[] = + "org.chromium.flimflam.Error.NotImplemented"; +const char kErrorResultNotOnHomeNetwork[] = + "org.chromium.flimflam.Error.NotOnHomeNetwork"; +const char kErrorResultNotRegistered[] = + "org.chromium.flimflam.Error.NotRegistered"; +const char kErrorResultNotSupported[] = + "org.chromium.flimflam.Error.NotSupported"; +const char kErrorResultOperationAborted[] = + "org.chromium.flimflam.Error.OperationAborted"; +const char kErrorResultOperationInitiated[] = + "org.chromium.flimflam.Error.OperationInitiated"; +const char kErrorResultOperationTimeout[] = + "org.chromium.flimflam.Error.OperationTimeout"; +const char kErrorResultPassphraseRequired[] = + "org.chromium.flimflam.Error.PassphraseRequired"; +const char kErrorResultPermissionDenied[] = + "org.chromium.flimflam.Error.PermissionDenied"; +const char kErrorResultPinBlocked[] = "org.chromium.flimflam.Error.PinBlocked"; +const char kErrorResultPinRequired[] = + "org.chromium.flimflam.Error.PinRequired"; +const char kErrorResultWrongState[] = "org.chromium.flimflam.Error.WrongState"; + +const char kUnknownString[] = "UNKNOWN"; + +// Function names. +const char kClearPropertiesFunction[] = "ClearProperties"; +const char kCompleteCellularActivationFunction[] = "CompleteCellularActivation"; +const char kConfigureServiceForProfileFunction[] = "ConfigureServiceForProfile"; +const char kConnectToBestServicesFunction[] = "ConnectToBestServices"; +const char kCreateConnectivityReportFunction[] = "CreateConnectivityReport"; +const char kAddWakeOnPacketConnectionFunction[] = "AddWakeOnPacketConnection"; +const char kRemoveWakeOnPacketConnectionFunction[] = + "RemoveWakeOnPacketConnection"; +const char kRemoveAllWakeOnPacketConnectionsFunction[] = + "RemoveAllWakeOnPacketConnections"; +const char kGetLoadableProfileEntriesFunction[] = "GetLoadableProfileEntries"; +const char kGetNetworksForGeolocation[] = "GetNetworksForGeolocation"; +const char kPerformTDLSOperationFunction[] = "PerformTDLSOperation"; +const char kRefreshFunction[] = "Refresh"; +const char kResetFunction[] = "Reset"; +const char kSetCarrierFunction[] = "SetCarrier"; +const char kSetPropertiesFunction[] = "SetProperties"; +const char kVerifyAndEncryptCredentialsFunction[] = + "VerifyAndEncryptCredentials"; +const char kVerifyAndEncryptDataFunction[] = "VerifyAndEncryptData"; +const char kVerifyDestinationFunction[] = "VerifyDestination"; + +// ThirdPartyVpn functions. +const char kSetParametersFunction[] = "SetParameters"; +const char kSendPacketFunction[] = "SendPacket"; +const char kUpdateConnectionStateFunction[] = "UpdateConnectionState"; +const char kOnPacketReceivedFunction[] = "OnPacketReceived"; +const char kOnPlatformMessageFunction[] = "OnPlatformMessage"; + +// Device property names. +const char kEapAuthenticationCompletedProperty[] = "EapAuthenticationCompleted"; +const char kEapAuthenticatorDetectedProperty[] = "EapAuthenticatorDetected"; +const char kLinkMonitorResponseTimeProperty[] = "LinkMonitorResponseTime"; +const char kLinkUpProperty[] = "Ethernet.LinkUp"; +const char kProviderRequiresRoamingProperty[] = + "Cellular.ProviderRequiresRoaming"; +const char kPPPoEProperty[] = "Ethernet.PPPoE"; +const char kReceiveByteCountProperty[] = "ReceiveByteCount"; +const char kSIMPresentProperty[] = "Cellular.SIMPresent"; +const char kSupportedCarriersProperty[] = "Cellular.SupportedCarriers"; +const char kTransmitByteCountProperty[] = "TransmitByteCount"; +const char kWifiSupportedFrequenciesProperty[] = "WiFi.SupportedFrequencies"; + +// Technology types (augments "Flimflam type options" above). +const char kTypeEthernetEap[] = "etherneteap"; + +// Error strings. +const char kErrorEapAuthenticationFailed[] = "eap-authentication-failed"; +const char kErrorEapLocalTlsFailed[] = "eap-local-tls-failed"; +const char kErrorEapRemoteTlsFailed[] = "eap-remote-tls-failed"; + +// IPConfig property names. +const char kSearchDomainsProperty[] = "SearchDomains"; +const char kVendorEncapsulatedOptionsProperty[] = "VendorEncapsulatedOptions"; +const char kWebProxyAutoDiscoveryUrlProperty[] = "WebProxyAutoDiscoveryUrl"; +// DHCP Option for iSNS (RFC 4174) +const char kiSNSOptionDataProperty[] = "iSNSOptionData"; + +// Manager property names. +const char kDefaultServiceProperty[] = "DefaultService"; +const char kDisableWiFiVHTProperty[] = "DisableWiFiVHT"; +const char kHostNameProperty[] = "HostName"; +const char kIgnoredDNSSearchPathsProperty[] = "IgnoredDNSSearchPaths"; +const char kLinkMonitorTechnologiesProperty[] = + "LinkMonitorTechnologies"; +const char kNoAutoConnectTechnologiesProperty[] = "NoAutoConnectTechnologies"; +const char kPortalCheckIntervalProperty[] = "PortalCheckInterval"; +const char kProhibitedTechnologiesProperty[] = "ProhibitedTechnologies"; +const char kServiceCompleteListProperty[] = "ServiceCompleteList"; +const char kShortDNSTimeoutTechnologiesProperty[] = + "ShortDNSTimeoutTechnologies"; +const char kUninitializedTechnologiesProperty[] = "UninitializedTechnologies"; +const char kWakeOnLanEnabledProperty[] = "WakeOnLanEnabled"; +const char kWakeOnWiFiFeaturesEnabledProperty[] = "WakeOnWiFiFeaturesEnabled"; + +// Service property names. +const char kActivationTypeProperty[] = "Cellular.ActivationType"; +const char kDiagnosticsDisconnectsProperty[] = "Diagnostics.Disconnects"; +const char kDiagnosticsMisconnectsProperty[] = "Diagnostics.Misconnects"; +const char kEapRemoteCertificationProperty[] = "EAP.RemoteCertification"; +const char kEapCaCertPemProperty[] = "EAP.CACertPEM"; +const char kEapSubjectMatchProperty[] = "EAP.SubjectMatch"; +const char kErrorDetailsProperty[] = "ErrorDetails"; +const char kHTTPProxyPortProperty[] = "HTTPProxyPort"; +const char kKeyManagementIEEE8021X[] = "IEEE8021X"; +const char kIPConfigProperty[] = "IPConfig"; +const char kL2tpIpsecCaCertPemProperty[] = "L2TPIPsec.CACertPEM"; +const char kL2tpIpsecTunnelGroupProperty[] = "L2TPIPsec.TunnelGroup"; +const char kL2tpIpsecXauthPasswordProperty[] = "L2TPIPsec.XauthPassword"; +const char kL2tpIpsecXauthUserProperty[] = "L2TPIPsec.XauthUser"; +const char kL2tpIpsecLcpEchoDisabledProperty[] = "L2TPIPsec.LCPEchoDisabled"; +const char kManagedCredentialsProperty[] = "ManagedCredentials"; +const char kOpenVPNCaCertPemProperty[] = "OpenVPN.CACertPEM"; +const char kOpenVPNCertProperty[] = "OpenVPN.Cert"; +const char kOpenVPNExtraCertPemProperty[] = "OpenVPN.ExtraCertPEM"; +const char kOpenVPNKeyProperty[] = "OpenVPN.Key"; +const char kOpenVPNPingProperty[] = "OpenVPN.Ping"; +const char kOpenVPNPingExitProperty[] = "OpenVPN.PingExit"; +const char kOpenVPNPingRestartProperty[] = "OpenVPN.PingRestart"; +const char kOpenVPNTLSAuthProperty[] = "OpenVPN.TLSAuth"; +const char kOpenVPNTokenProperty[] = "OpenVPN.Token"; +const char kOpenVPNVerbProperty[] = "OpenVPN.Verb"; +const char kOpenVPNVerifyHashProperty[] = "OpenVPN.VerifyHash"; +const char kOpenVPNVerifyX509NameProperty[] = "OpenVPN.VerifyX509Name"; +const char kOpenVPNVerifyX509TypeProperty[] = "OpenVPN.VerifyX509Type"; +const char kOutOfCreditsProperty[] = "Cellular.OutOfCredits"; +const char kPhysicalTechnologyProperty[] = "PhysicalTechnology"; +const char kPreviousErrorProperty[] = "PreviousError"; +const char kPreviousErrorSerialNumberProperty[] = "PreviousErrorSerialNumber"; +const char kStaticIPAddressProperty[] = "StaticIP.Address"; +const char kStaticIPGatewayProperty[] = "StaticIP.Gateway"; +const char kStaticIPMtuProperty[] = "StaticIP.Mtu"; +const char kStaticIPNameServersProperty[] = "StaticIP.NameServers"; +const char kStaticIPPeerAddressProperty[] = "StaticIP.PeerAddress"; +const char kStaticIPPrefixlenProperty[] = "StaticIP.Prefixlen"; +const char kSavedIPAddressProperty[] = "SavedIP.Address"; +const char kSavedIPGatewayProperty[] = "SavedIP.Gateway"; +const char kSavedIPMtuProperty[] = "SavedIP.Mtu"; +const char kSavedIPNameServersProperty[] = "SavedIP.NameServers"; +const char kSavedIPPeerAddressProperty[] = "SavedIP.PeerAddress"; +const char kSavedIPPrefixlenProperty[] = "SavedIP.Prefixlen"; +const char kTetheringProperty[] = "Tethering"; +const char kVPNMTUProperty[] = "VPN.MTU"; +const char kWifiFrequencyListProperty[] = "WiFi.FrequencyList"; +const char kWifiVendorInformationProperty[] = "WiFi.VendorInformation"; +const char kWifiProtectedManagementFrameRequiredProperty[] = + "WiFi.ProtectedManagementFrameRequired"; + +// Profile property names. +const char kUserHashProperty[] = "UserHash"; + +// Service Tethering property values. +const char kTetheringNotDetectedState[] = "NotDetected"; +const char kTetheringSuspectedState[] = "Suspected"; +const char kTetheringConfirmedState[] = "Confirmed"; + +// WiFi Service Vendor Information dictionary properties. +const char kVendorWPSManufacturerProperty[] = "Manufacturer"; +const char kVendorWPSModelNameProperty[] = "ModelName"; +const char kVendorWPSModelNumberProperty[] = "ModelNumber"; +const char kVendorWPSDeviceNameProperty[] = "DeviceName"; +const char kVendorOUIListProperty[] = "OUIList"; + +// WiFi Device link property names. +const char kLinkStatisticsProperty[] = "LinkStatistics"; +const char kAverageReceiveSignalDbmProperty[] = "AverageReceiveSignalDbm"; +const char kInactiveTimeMillisecondsProperty[] = + "InactiveTimeMilliseconds"; +const char kLastReceiveSignalDbmProperty[] = "LastReceiveSignalDbm"; +const char kPacketReceiveSuccessesProperty[] = "PacketReceiveSuccesses"; +const char kPacketTransmitFailuresProperty[] = "PacketTransmitFailures"; +const char kPacketTransmitSuccessesProperty[] = "PacketTrasmitSuccesses"; +const char kTransmitBitrateProperty[] = "TransmitBitrate"; +const char kTransmitRetriesProperty[] = "TransmitRetries"; + +// WiFi TDLS operations. +const char kTDLSDiscoverOperation[] = "Discover"; +const char kTDLSSetupOperation[] = "Setup"; +const char kTDLSStatusOperation[] = "Status"; +const char kTDLSTeardownOperation[] = "Teardown"; + +// WiFi TDLS states. +const char kTDLSConnectedState[] = "Connected"; +const char kTDLSDisabledState[] = "Disabled"; +const char kTDLSDisconnectedState[] = "Disconnected"; +const char kTDLSNonexistentState[] = "Nonexistent"; +const char kTDLSUnknownState[] = "Unknown"; + +// Wake on WiFi features. +const char kWakeOnWiFiFeaturesEnabledPacket[] = "packet"; +const char kWakeOnWiFiFeaturesEnabledDarkConnect[] = "darkconnect"; +const char kWakeOnWiFiFeaturesEnabledPacketDarkConnect[] = + "packet_and_darkconnect"; +const char kWakeOnWiFiFeaturesEnabledNone[] = "none"; +const char kWakeOnWiFiFeaturesEnabledNotSupported[] = "not_supported"; + +// Cellular service carriers. +const char kCarrierGenericUMTS[] = "Generic UMTS"; +const char kCarrierSprint[] = "Sprint"; +const char kCarrierVerizon[] = "Verizon Wireless"; + +// Cellular activation types. +const char kActivationTypeNonCellular[] = "NonCellular"; // For future use +const char kActivationTypeOMADM[] = "OMADM"; // For future use +const char kActivationTypeOTA[] = "OTA"; +const char kActivationTypeOTASP[] = "OTASP"; + +// Geolocation property field names. +// Reference: +// https://devsite.googleplex.com/maps/documentation/business/geolocation/ +// Top level properties for a Geolocation request. +const char kGeoHomeMobileCountryCodeProperty[] = "homeMobileCountryCode"; +const char kGeoHomeMobileNetworkCodeProperty[] = "homeMobileNetworkCode"; +const char kGeoRadioTypePropertyProperty[] = "radioType"; +const char kGeoCellTowersProperty[] = "cellTowers"; +const char kGeoWifiAccessPointsProperty[] = "wifiAccessPoints"; +// Cell tower object property names. +const char kGeoCellIdProperty[] = "cellId"; +const char kGeoLocationAreaCodeProperty[] = "locationAreaCode"; +const char kGeoMobileCountryCodeProperty[] = "mobileCountryCode"; +const char kGeoMobileNetworkCodeProperty[] = "mobileNetworkCode"; +const char kGeoTimingAdvanceProperty[] = "timingAdvance"; +// WiFi access point property names. +const char kGeoMacAddressProperty[] = "macAddress"; +const char kGeoChannelProperty[] = "channel"; +const char kGeoSignalToNoiseRatioProperty[] = "signalToNoiseRatio"; +// Common property names for geolocation objects. +const char kGeoAgeProperty[] = "age"; +const char kGeoSignalStrengthProperty[] = "signalStrength"; +// ThirdPartyVpn parameters, properties and constants. +const char kAddressParameterThirdPartyVpn[] = "address"; +const char kBroadcastAddressParameterThirdPartyVpn[] = "broadcast_address"; +const char kGatewayParameterThirdPartyVpn[] = "gateway"; +const char kBypassTunnelForIpParameterThirdPartyVpn[] = "bypass_tunnel_for_ip"; +const char kSubnetPrefixParameterThirdPartyVpn[] = "subnet_prefix"; +const char kMtuParameterThirdPartyVpn[] = "mtu"; +const char kDomainSearchParameterThirdPartyVpn[] = "domain_search"; +const char kDnsServersParameterThirdPartyVpn[] = "dns_servers"; +const char kInclusionListParameterThirdPartyVpn[] = "inclusion_list"; +const char kExclusionListParameterThirdPartyVpn[] = "exclusion_list"; +const char kReconnectParameterThirdPartyVpn[] = "reconnect"; +const char kObjectPathSuffixProperty[] = "ObjectPathSuffix"; +const char kExtensionNameProperty[] = "ExtensionName"; +const char kConfigurationNameProperty[] = "ConfigurationName"; +const char kObjectPathBase[] = "/thirdpartyvpn/"; +const char kNonIPDelimiter = ':'; +const char kIPDelimiter = ' '; +} // namespace shill + +#endif // SYSTEM_API_DBUS_SHILL_DBUS_CONSTANTS_H_
diff --git a/system_api/dbus/update_engine/dbus-constants.h b/system_api/dbus/update_engine/dbus-constants.h new file mode 100644 index 0000000..86c60dd --- /dev/null +++ b/system_api/dbus/update_engine/dbus-constants.h
@@ -0,0 +1,60 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYSTEM_API_DBUS_UPDATE_ENGINE_DBUS_CONSTANTS_H_ +#define SYSTEM_API_DBUS_UPDATE_ENGINE_DBUS_CONSTANTS_H_ + +namespace update_engine { +const char kUpdateEngineInterface[] = "org.chromium.UpdateEngineInterface"; +const char kUpdateEngineServicePath[] = "/org/chromium/UpdateEngine"; +const char kUpdateEngineServiceName[] = "org.chromium.UpdateEngine"; + +// Generic UpdateEngine D-Bus error. +const char kUpdateEngineServiceErrorFailed[] = + "org.chromium.UpdateEngine.Error.Failed"; + +// Methods. +const char kAttemptUpdate[] = "AttemptUpdate"; +const char kGetLastAttemptError[] = "GetLastAttemptError"; +const char kGetStatus[] = "GetStatus"; +const char kRebootIfNeeded[] = "RebootIfNeeded"; +const char kSetChannel[] = "SetChannel"; +const char kGetChannel[] = "GetChannel"; +const char kAttemptRollback[] = "AttemptRollback"; +const char kCanRollback[] = "CanRollback"; +const char kGetEolStatus[] = "GetEolStatus"; + +// Signals. +const char kStatusUpdate[] = "StatusUpdate"; + +// Flags used in the AttemptUpdateWithFlags() D-Bus method. +typedef enum { + kAttemptUpdateFlagNonInteractive = (1 << 0) +} AttemptUpdateFlags; + +// End of Life status used in the GetEolStatus() D-Bus method. +typedef enum { + kSupported = 0, + kSecurityOnly = 1, + kEol = 2, +} EndOfLifeStatus; + +// Operations contained in StatusUpdate signals. +const char kUpdateStatusIdle[] = "UPDATE_STATUS_IDLE"; +const char kUpdateStatusCheckingForUpdate[] = + "UPDATE_STATUS_CHECKING_FOR_UPDATE"; +const char kUpdateStatusUpdateAvailable[] = "UPDATE_STATUS_UPDATE_AVAILABLE"; +const char kUpdateStatusDownloading[] = "UPDATE_STATUS_DOWNLOADING"; +const char kUpdateStatusVerifying[] = "UPDATE_STATUS_VERIFYING"; +const char kUpdateStatusFinalizing[] = "UPDATE_STATUS_FINALIZING"; +const char kUpdateStatusUpdatedNeedReboot[] = + "UPDATE_STATUS_UPDATED_NEED_REBOOT"; +const char kUpdateStatusReportingErrorEvent[] = + "UPDATE_STATUS_REPORTING_ERROR_EVENT"; +const char kUpdateStatusAttemptingRollback[] = + "UPDATE_STATUS_ATTEMPTING_ROLLBACK"; +const char kUpdateStatusDisabled[] = "UPDATE_STATUS_DISABLED"; +} // namespace update_engine + +#endif // SYSTEM_API_DBUS_UPDATE_ENGINE_DBUS_CONSTANTS_H_
diff --git a/system_api/switches/chrome_switches.h b/system_api/switches/chrome_switches.h new file mode 100644 index 0000000..dbc0803 --- /dev/null +++ b/system_api/switches/chrome_switches.h
@@ -0,0 +1,26 @@ +// Copyright (c) 2013 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SWITCHES_CHROME_SWITCHES_H_ +#define SWITCHES_CHROME_SWITCHES_H_ + +// This file defines switches that are used both by Chrome and login_manager. + +namespace chromeos { +namespace switches { + +// Sentinel switches for policy injected flags. +const char kPolicySwitchesBegin[] = "policy-switches-begin"; +const char kPolicySwitchesEnd[] = "policy-switches-end"; + +// Switch for path that breakpad can read an optional termination message from. +const char kTerminationMessageFile[] = "termination-message-file"; + +// Flag passed to the browser if the system is running in dev-mode. +const char kSystemInDevMode[] = "system-developer-mode"; + +} // namespace switches +} // namespace chromeos + +#endif // SWITCHES_CHROME_SWITCHES_H_
diff --git a/system_api/system_api.gyp b/system_api/system_api.gyp new file mode 100644 index 0000000..47b12d7 --- /dev/null +++ b/system_api/system_api.gyp
@@ -0,0 +1,89 @@ +{ + 'targets': [ + { + 'target_name': 'system_api-protos-gen', + 'type': 'none', + 'variables': { + 'proto_in_dir': 'dbus', + 'proto_out_dir': 'include/system_api/proto_bindings', + }, + 'sources': [ + '<(proto_in_dir)/mtp_storage_info.proto', + '<(proto_in_dir)/mtp_file_entry.proto', + '<(proto_in_dir)/field_trial_list.proto', + ], + 'includes': ['../../platform2/common-mk/protoc.gypi'], + }, + { + 'target_name': 'system_api-protos', + 'type': 'static_library', + 'standalone_static_library': 1, + 'dependencies': [ + 'system_api-protos-gen', + ], + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/include/system_api/proto_bindings/mtp_storage_info.pb.cc', + '<(SHARED_INTERMEDIATE_DIR)/include/system_api/proto_bindings/mtp_file_entry.pb.cc', + '<(SHARED_INTERMEDIATE_DIR)/include/system_api/proto_bindings/field_trial_list.pb.cc', + ] + }, + { + 'target_name': 'system_api-power_manager-protos-gen', + 'type': 'none', + 'variables': { + 'proto_in_dir': 'dbus/power_manager', + 'proto_out_dir': 'include/power_manager/proto_bindings', + }, + 'sources': [ + '<(proto_in_dir)/suspend.proto', + '<(proto_in_dir)/input_event.proto', + '<(proto_in_dir)/peripheral_battery_status.proto', + '<(proto_in_dir)/policy.proto', + '<(proto_in_dir)/power_supply_properties.proto', + ], + 'includes': ['../../platform2/common-mk/protoc.gypi'], + }, + { + 'target_name': 'system_api-power_manager-protos', + 'type': 'static_library', + 'standalone_static_library': 1, + 'dependencies': [ + 'system_api-power_manager-protos-gen', + ], + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/include/power_manager/proto_bindings/suspend.pb.cc', + '<(SHARED_INTERMEDIATE_DIR)/include/power_manager/proto_bindings/input_event.pb.cc', + '<(SHARED_INTERMEDIATE_DIR)/include/power_manager/proto_bindings/peripheral_battery_status.pb.cc', + '<(SHARED_INTERMEDIATE_DIR)/include/power_manager/proto_bindings/policy.pb.cc', + '<(SHARED_INTERMEDIATE_DIR)/include/power_manager/proto_bindings/power_supply_properties.pb.cc', + ] + }, + { + 'target_name': 'system_api-cryptohome-protos-gen', + 'type': 'none', + 'variables': { + 'proto_in_dir': 'dbus/cryptohome', + 'proto_out_dir': 'include/cryptohome/proto_bindings', + }, + 'sources': [ + '<(proto_in_dir)/key.proto', + '<(proto_in_dir)/rpc.proto', + '<(proto_in_dir)/signed_secret.proto', + ], + 'includes': ['../../platform2/common-mk/protoc.gypi'], + }, + { + 'target_name': 'system_api-cryptohome-protos', + 'type': 'static_library', + 'standalone_static_library': 1, + 'dependencies': [ + 'system_api-cryptohome-protos-gen', + ], + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/include/cryptohome/proto_bindings/key.pb.cc', + '<(SHARED_INTERMEDIATE_DIR)/include/cryptohome/proto_bindings/rpc.pb.cc', + '<(SHARED_INTERMEDIATE_DIR)/include/cryptohome/proto_bindings/signed_secret.pb.cc', + ] + }, + ] +}
diff --git a/system_api/system_api.pc b/system_api/system_api.pc new file mode 100644 index 0000000..c6925ac --- /dev/null +++ b/system_api/system_api.pc
@@ -0,0 +1,4 @@ +Name: system_api +Description: Protobuffers and headers shared by Chromium OS and Chromium. +Version: 0.1 +Libs: -lsystem_api-power_manager-protos -lsystem_api-cryptohome-protos -lsystem_api-protos