Files
container/Sources/Services/ContainerImagesService/Client/ImageServiceXPCKeys.swift
T
J Logan 744e7f7c7a Update for containerization 0.21.0. (#1056)
- Update image load and build to handle rejected paths during tar
extraction. For the image load command there is now a `--force` function
that fails extractions with rejected paths when false, and just warns
about the rejected paths when true.
- Update `container stats` for statistics API properties now all being
optional.

## Type of Change
- [x] Bug fix
- [ ] New feature  
- [ ] Breaking change
- [x] Documentation update

## Motivation and Context
See above

## Testing
- [x] Tested locally
- [x] Added/updated tests
- [x] Added/updated docs
2026-01-16 16:26:13 -08:00

104 lines
2.8 KiB
Swift

//===----------------------------------------------------------------------===//
// Copyright © 2025-2026 Apple Inc. and the container project authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//===----------------------------------------------------------------------===//
#if os(macOS)
import Foundation
import ContainerXPC
/// Keys for XPC fields.
public enum ImagesServiceXPCKeys: String {
case fd
/// FDs pointing to container logs key.
case logs
/// Path to a file on disk key.
case filePath
/// Images
case imageReference
case imageNewReference
case imageDescription
case imageDescriptions
case filesystem
case ociPlatform
case insecureFlag
case garbageCollect
case maxConcurrentDownloads
case forceLoad
case rejectedMembers
/// ContentStore
case digest
case digests
case directory
case contentPath
case imageSize
case ingestSessionId
/// Disk Usage
case activeImageReferences
case totalCount
case activeCount
case reclaimableSize
}
extension XPCMessage {
public func set(key: ImagesServiceXPCKeys, value: String) {
self.set(key: key.rawValue, value: value)
}
public func set(key: ImagesServiceXPCKeys, value: UInt64) {
self.set(key: key.rawValue, value: value)
}
public func set(key: ImagesServiceXPCKeys, value: Data) {
self.set(key: key.rawValue, value: value)
}
public func set(key: ImagesServiceXPCKeys, value: Bool) {
self.set(key: key.rawValue, value: value)
}
public func set(key: ImagesServiceXPCKeys, value: Int64) {
self.set(key: key.rawValue, value: value)
}
public func string(key: ImagesServiceXPCKeys) -> String? {
self.string(key: key.rawValue)
}
public func data(key: ImagesServiceXPCKeys) -> Data? {
self.data(key: key.rawValue)
}
public func dataNoCopy(key: ImagesServiceXPCKeys) -> Data? {
self.dataNoCopy(key: key.rawValue)
}
public func uint64(key: ImagesServiceXPCKeys) -> UInt64 {
self.uint64(key: key.rawValue)
}
public func int64(key: ImagesServiceXPCKeys) -> Int64 {
self.int64(key: key.rawValue)
}
public func bool(key: ImagesServiceXPCKeys) -> Bool {
self.bool(key: key.rawValue)
}
}
#endif