155567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan/*
2d3aba7f7b67c758b2b325276538da6e1350cce69Hung-ying Tyan * Copyright (C) 2009, The Android Open Source Project
355567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan *
455567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan * Licensed under the Apache License, Version 2.0 (the "License");
555567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan * you may not use this file except in compliance with the License.
655567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan * You may obtain a copy of the License at
755567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan *
855567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan *     http://www.apache.org/licenses/LICENSE-2.0
955567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan *
1055567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan * Unless required by applicable law or agreed to in writing, software
1155567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan * distributed under the License is distributed on an "AS IS" BASIS,
1255567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1355567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan * See the License for the specific language governing permissions and
1455567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan * limitations under the License.
1555567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan */
1655567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan
1755567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyanpackage android.net.vpn;
1855567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan
19f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyanimport com.android.internal.R;
20f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan
2155567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan/**
2255567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan * Enumeration of all supported VPN types.
2355567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan * {@hide}
2455567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan */
2555567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyanpublic enum VpnType {
26f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan    PPTP("PPTP", R.string.pptp_vpn_description, PptpProfile.class),
27f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan    L2TP("L2TP", R.string.l2tp_vpn_description, L2tpProfile.class),
28f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan    L2TP_IPSEC_PSK("L2TP/IPSec PSK", R.string.l2tp_ipsec_psk_vpn_description,
29d3aba7f7b67c758b2b325276538da6e1350cce69Hung-ying Tyan            L2tpIpsecPskProfile.class),
30f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan    L2TP_IPSEC("L2TP/IPSec CRT", R.string.l2tp_ipsec_crt_vpn_description,
31d3aba7f7b67c758b2b325276538da6e1350cce69Hung-ying Tyan            L2tpIpsecProfile.class);
3255567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan
3355567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan    private String mDisplayName;
34f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan    private int mDescriptionId;
3555567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan    private Class<? extends VpnProfile> mClass;
3655567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan
37f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan    VpnType(String displayName, int descriptionId,
38d3aba7f7b67c758b2b325276538da6e1350cce69Hung-ying Tyan            Class<? extends VpnProfile> klass) {
3955567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan        mDisplayName = displayName;
40f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan        mDescriptionId = descriptionId;
4155567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan        mClass = klass;
4255567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan    }
4355567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan
4455567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan    public String getDisplayName() {
4555567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan        return mDisplayName;
4655567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan    }
4755567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan
48f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan    public int getDescriptionId() {
49f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan        return mDescriptionId;
50f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan    }
51f2bd901738736e16ea93f0a4c7275f2141ca3a3eHung-ying Tyan
5255567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan    public Class<? extends VpnProfile> getProfileClass() {
5355567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan        return mClass;
5455567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan    }
5555567efca99de7242b118cf7bf13cc773b01941cHung-ying Tyan}
56