]> source.dussan.org Git - jgit.git/blob
1cbf0e41b67542fb0907d35c6093229d801767a8
[jgit.git] /
1 /*
2  * Copyright (C) 2021, Thomas Wolf <thomas.wolf@paranor.ch> and others
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Distribution License v. 1.0 which is available at
6  * https://www.eclipse.org/org/documents/edl-v10.php.
7  *
8  * SPDX-License-Identifier: BSD-3-Clause
9  */
10 package org.eclipse.jgit.internal.transport.sshd.agent.connector;
11
12 import java.io.File;
13 import java.io.IOException;
14
15 import org.eclipse.jgit.transport.sshd.agent.Connector;
16 import org.eclipse.jgit.transport.sshd.agent.ConnectorFactory;
17 import org.eclipse.jgit.util.SystemReader;
18
19 /**
20  * An {@link ConnectorFactory} for connecting to an OpenSSH SSH agent.
21  */
22 public class Factory implements ConnectorFactory {
23
24         private static final String NAME = "jgit-builtin"; //$NON-NLS-1$
25
26         @Override
27         public Connector create(String identityAgent, File homeDir)
28                         throws IOException {
29                 if (SystemReader.getInstance().isWindows()) {
30                         return new PageantConnector();
31                 }
32                 return new UnixDomainSocketConnector(identityAgent);
33         }
34
35         @Override
36         public boolean isSupported() {
37                 return true;
38         }
39
40         @Override
41         public String getName() {
42                 return NAME;
43         }
44 }