/**********************************************************************
 * Copyright (C) 2025 Red Hat, Inc.
 *
 * 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
 *
 * http://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.
 *
 * SPDX-License-Identifier: Apache-2.0
 ***********************************************************************/

import * as extensionApi from '@podman-desktop/api';
import type { DockerExtensionApi } from '@podman-desktop/docker-extension-api';

import { DockerContextSynchronizer } from './docker-context-synchronizer';

export async function activate(extensionContext: extensionApi.ExtensionContext): Promise<void> {
  const dockerExtensionAPI = extensionApi.extensions.getExtension<DockerExtensionApi>('podman-desktop.docker');
  if (!dockerExtensionAPI) {
    throw new Error('Docker extension not found');
  }
  const dockerSynchronizer = new DockerContextSynchronizer(dockerExtensionAPI.exports);
  extensionContext.subscriptions.push(dockerSynchronizer);
  dockerSynchronizer.init().catch((err: unknown) => {
    console.error('Error while initializing docker synchronizer', err);
  });
}

export function deactivate(): void {
  console.log('stopping docker context extension');
}
