Android Open Source - SanDisk-HQME-SDK Protocol Handler






From Project

Back to project page SanDisk-HQME-SDK.

License

The source code is released under:

Apache License

If you think the Android project SanDisk-HQME-SDK listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/** 
* This reference code is an implementation of the IEEE P2200 standard.  It is not
* a contribution to the IEEE P2200 standard.
* //from www . j av a2  s .  c  o m
* Copyright (c) 2011 SanDisk Corporation.  All rights reserved.
* 
* 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 com.hqme.cm.core;

import java.util.Date;

/**
 * ProtocolHandler is the common interface for handling different protocols. 
 * Third party applications and core can provide implementations for different protocols. 
 *
 */
public interface ProtocolHandler {
    
    /**
     * Initialize protocol with given URI for further operations.
     * 
     * @param URI   Source address
     * @return 0 on success. Error code otherwise.
     * @throws ProtocolException Thrown if an unrecoverable error occurs.
     */
    public int intitializeRequest(String URI) throws ProtocolException;
    
    
    /** Starts transfer form offset 0.
     * @return
     * @throws ProtocolException Thrown if an unrecoverable error occurs.
     */
    public int startTransfer() throws ProtocolException ;
    
    /** Starts transfer from offset.
     * @param offset
     * @return 0 on success. Error code otherwise.
     * @throws ProtocolException Thrown if an unrecoverable error occurs.
     */
    public int startTransfer(int offset) throws ProtocolException ;
    
    /** Starts transfer from offset only if the remote content is not modified since the given date.
     * 
     * @param offset
     * @param unmodifiedSince
     * @return 0 on success. Error code otherwise.
     * @throws ProtocolException  Thrown if an unrecoverable error occurs.
     */
    public int startTransfer(int offset, Date unmodifiedSince) throws ProtocolException;
    
    /** Pauses transfer
     * @return 0 on success. Error code otherwise.
     * @throws ProtocolException  Thrown if an unrecoverable error occurs.
     */
    public int pauseTransfer() throws ProtocolException;
    
    /** Resumes transfer
     * @return 0 on success. Error code otherwise.
     * @throws ProtocolException  Thrown if an unrecoverable error occurs.
     */
    public int resumeTransfer() throws ProtocolException;
    
    /** Stops transfer.
     * @return 0 on success. Error code otherwise.
     */
    public int stopTransfer();
    
    /** Finalizes request for given URI.
     * 
     * @return 0 on success. Error code otherwise.
     */
    public int finalizeRequest();
    
    /** Reads data from source to the buffer.
     * @param buffer
     * @param bufSize
     * @param offset
     * @return 0 on success. Error code otherwise.
     * @throws ProtocolException
     */
    public int readData(byte[] buffer, int bufSize, int offset) throws ProtocolException;
    
    /** Writes data from buffer to the source.
     * @param buffer
     * @param bufSize
     * @param offset
     * @return 0 on success. Error code otherwise.
     * @throws ProtocolException
     */
    public int writeData(byte[] buffer, int bufSize, int offset) throws ProtocolException;
    
    /** Returns last-modified date of the content.
     * 
     * @return Last modified date, null if not available.
     * @throws ProtocolException thrown if method not supported by this handler.
     */
    public Date getLastModified() throws ProtocolException;
    
    /** Returns content length as reported by remote party.
     * 
     * @return Content length, null if not available.
     * @throws ProtocolException thrown if method not supported by this handler.
     */
    public Long getContentLength() throws ProtocolException;
}




Java Source Code List

com.hqme.cm.Account.java
com.hqme.cm.EventsNotify.java
com.hqme.cm.HqmeError.java
com.hqme.cm.OriginACL.java
com.hqme.cm.Permission.java
com.hqme.cm.Property.java
com.hqme.cm.QueueRequestState.java
com.hqme.cm.ReqEvents.java
com.hqme.cm.VSDEvent.java
com.hqme.cm.VSDFunctionGroups.java
com.hqme.cm.VSDProperties.java
com.hqme.cm.cache.PlaybackTokens.java
com.hqme.cm.cache.StreamingServer.java
com.hqme.cm.cache.UntenCacheService.java
com.hqme.cm.cache.UntenMedia.java
com.hqme.cm.core.CmApplication.java
com.hqme.cm.core.DeviceDescription.java
com.hqme.cm.core.HQMEProvider.java
com.hqme.cm.core.HQME.java
com.hqme.cm.core.Package.java
com.hqme.cm.core.Policy.java
com.hqme.cm.core.ProtocolException.java
com.hqme.cm.core.ProtocolHandlerInputStream.java
com.hqme.cm.core.ProtocolHandler.java
com.hqme.cm.core.ProtocolManager.java
com.hqme.cm.core.ProtocolPluginHttp.java
com.hqme.cm.core.ProtocolPlugin.java
com.hqme.cm.core.QueueRequestObject.java
com.hqme.cm.core.QueueRequestProperties.java
com.hqme.cm.core.RULE_AVAILABLE_SPACE.java
com.hqme.cm.core.RULE_BANDWIDTH_LIMIT.java
com.hqme.cm.core.RULE_CHARGING_STATE.java
com.hqme.cm.core.RULE_CONNECTION_TYPE.java
com.hqme.cm.core.RULE_DOWNLOAD_LIMIT.java
com.hqme.cm.core.RULE_EXPIRE.java
com.hqme.cm.core.RULE_FREE_SPACE.java
com.hqme.cm.core.RULE_FUNCTIONGROUPS.java
com.hqme.cm.core.RULE_MANDATORY_TIME.java
com.hqme.cm.core.RULE_MAX_SIZE.java
com.hqme.cm.core.RULE_POWER_LEVEL.java
com.hqme.cm.core.RULE_PRIORITY.java
com.hqme.cm.core.RULE_ROAMING.java
com.hqme.cm.core.RULE_SCHEDULE.java
com.hqme.cm.core.RULE_TIME.java
com.hqme.cm.core.Record.java
com.hqme.cm.core.RuleBase.java
com.hqme.cm.core.RuleCollection.java
com.hqme.cm.core.Rule.java
com.hqme.cm.core.StorageManager.java
com.hqme.cm.core.WorkOrderManager.java
com.hqme.cm.core.WorkOrder.java
com.hqme.cm.core.policyParser.Expression.java
com.hqme.cm.core.policyParser.HqmePolicyException.java
com.hqme.cm.core.policyParser.LogicalExpression.java
com.hqme.cm.core.policyParser.NegateExpression.java
com.hqme.cm.core.policyParser.Operator.java
com.hqme.cm.core.policyParser.PolicyElementParser.java
com.hqme.cm.core.policyParser.PolicyExpression.java
com.hqme.cm.core.policyParser.Precedence.java
com.hqme.cm.core.policyParser.Token.java
com.hqme.cm.core.policyParser.Tokenizer.java
com.hqme.cm.sample.HqmeClientActivity.java
com.hqme.cm.sample.HqmeClientReceiver.java
com.hqme.cm.util.CmClientUtil.java
com.hqme.cm.util.CmDate.java
com.hqme.cm.util.CmNumber.java
com.hqme.cm.util.CmProperties.java
com.hqme.cm.util.CmUri.java