diff -r 5315a5713dd5 -r b2e1b45382a4 src/net/java/otr4j/OtrPolicy.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/net/java/otr4j/OtrPolicy.java Fri Apr 15 03:01:09 2011 +0200 @@ -0,0 +1,68 @@ +/* + * otr4j, the open source java otr library. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.otr4j; + +/** + * + * @author George Politis + * + */ +public interface OtrPolicy { + + public static final int ALLOW_V1 = 0x01; + public static final int ALLOW_V2 = 0x02; + public static final int REQUIRE_ENCRYPTION = 0x04; + public static final int SEND_WHITESPACE_TAG = 0x08; + public static final int WHITESPACE_START_AKE = 0x10; + public static final int ERROR_START_AKE = 0x20; + public static final int VERSION_MASK = (ALLOW_V1 | ALLOW_V2); + + // The four old version 1 policies correspond to the following combinations + // of flags (adding an allowance for version 2 of the protocol): + + public static final int NEVER = 0x00; + public static final int OPPORTUNISTIC = (ALLOW_V1 | ALLOW_V2 + | SEND_WHITESPACE_TAG | WHITESPACE_START_AKE | ERROR_START_AKE); + public static final int OTRL_POLICY_MANUAL = (ALLOW_V1 | ALLOW_V2); + public static final int OTRL_POLICY_ALWAYS = (ALLOW_V1 | ALLOW_V2 + | REQUIRE_ENCRYPTION | WHITESPACE_START_AKE | ERROR_START_AKE); + public static final int OTRL_POLICY_DEFAULT = OPPORTUNISTIC; + + public abstract boolean getAllowV1(); + + public abstract boolean getAllowV2(); + + public abstract boolean getRequireEncryption(); + + public abstract boolean getSendWhitespaceTag(); + + public abstract boolean getWhitespaceStartAKE(); + + public abstract boolean getErrorStartAKE(); + + public abstract int getPolicy(); + + public abstract void setAllowV1(boolean value); + + public abstract void setAllowV2(boolean value); + + public abstract void setRequireEncryption(boolean value); + + public abstract void setSendWhitespaceTag(boolean value); + + public abstract void setWhitespaceStartAKE(boolean value); + + public abstract void setErrorStartAKE(boolean value); + + public abstract void setEnableAlways(boolean value); + + public abstract boolean getEnableAlways(); + + public abstract void setEnableManual(boolean value); + + public abstract boolean getEnableManual(); +}