// Path: main/src/domain/xink/vpn/AppException.java
// public class AppException extends RuntimeException {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private int messageCode;
// 
//     private Object[] messageArgs;
// 
//     public AppException(final String detailMessage) {
//         super(detailMessage);
//     }
// 
//     public AppException(final String message, final int msgCode, final Object... msgArgs) {
//         super(message);
//         this.messageCode = msgCode;
//         this.messageArgs = msgArgs;
//     }
// 
//     public AppException(final String message, final Throwable throwable, final int msgCode, final Object... msgArgs) {
//         super(message, throwable);
//         this.messageCode = msgCode;
//         this.messageArgs = msgArgs;
//     }
// 
//     public AppException(final String message, final Throwable cause) {
//         super(message, cause);
//     }
// 
//     public int getMessageCode() {
//         return messageCode;
//     }
// 
//     public Object[] getMessageArgs() {
//         return messageArgs;
//     }
// 
// }


import java.lang.reflect.Method;
import xink.vpn.AppException;
import android.content.Context;
/*
 * Copyright 2011 yingxinwu.g@gmail.com
 * 
 * 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.
 */

package xink.vpn.wrapper;



public class PptpProfile extends VpnProfile {

    public PptpProfile(final Context ctx) {
        super(ctx, "android.net.vpn.PptpProfile");
    }

    @Override
    public VpnType getType() {
        return VpnType.PPTP;
    }

    /**
     * Enables/disables the encryption for PPTP tunnel.
     */
    public void setEncryptionEnabled(final boolean enabled) {
        try {
            Method m = getStubClass().getMethod("setEncryptionEnabled", boolean.class);
            m.invoke(getStub(), enabled);
        } catch (Throwable e) {
// Path: main/src/domain/xink/vpn/AppException.java
// public class AppException extends RuntimeException {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private int messageCode;
// 
//     private Object[] messageArgs;
// 
//     public AppException(final String detailMessage) {
//         super(detailMessage);
//     }
// 
//     public AppException(final String message, final int msgCode, final Object... msgArgs) {
//         super(message);
//         this.messageCode = msgCode;
//         this.messageArgs = msgArgs;
//     }
// 
//     public AppException(final String message, final Throwable throwable, final int msgCode, final Object... msgArgs) {
//         super(message, throwable);
//         this.messageCode = msgCode;
//         this.messageArgs = msgArgs;
//     }
// 
//     public AppException(final String message, final Throwable cause) {
//         super(message, cause);
//     }
// 
//     public int getMessageCode() {
//         return messageCode;
//     }
// 
//     public Object[] getMessageArgs() {
//         return messageArgs;
//     }
// 
// }


// Path: main/src/domain/xink/vpn/wrapper/PptpProfile.java
import java.lang.reflect.Method;
import xink.vpn.AppException;
import android.content.Context;

/*
 * Copyright 2011 yingxinwu.g@gmail.com
 * 
 * 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.
 */

package xink.vpn.wrapper;



public class PptpProfile extends VpnProfile {

    public PptpProfile(final Context ctx) {
        super(ctx, "android.net.vpn.PptpProfile");
    }

    @Override
    public VpnType getType() {
        return VpnType.PPTP;
    }

    /**
     * Enables/disables the encryption for PPTP tunnel.
     */
    public void setEncryptionEnabled(final boolean enabled) {
        try {
            Method m = getStubClass().getMethod("setEncryptionEnabled", boolean.class);
            m.invoke(getStub(), enabled);
        } catch (Throwable e) {
            throw new AppException("setEncryptionEnabled failed", e);