[sync] still more syncml command classes
Anthony Mills
amills at gascard.net
Sat Dec 20 03:15:34 PST 2003
I put these files in this directory horde/framework/RPC/RPC/syncml_command.
Feel free to move them around. The factory can be rewritten to use file names
instead of a switch statement. The elements are case sensitive.
Anthony
-------------- next part --------------
<?php
/**
* The Horde_RPC_syncml_command class provides a SyncML implementation of the
* Horde RPC system.
*
* $Horde: framework/RPC/RPC/syncml.php,v 1.6 2003/12/17 16:02:44 chuck Exp $
*
* Copyright 2003 Anthony Mills <amills at pyramid6.com>
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
*
* @author Anthony Mills <amills at pyramid6.com>
* @version $Revision: 1.6 $
* @since Horde 3.0
* @package Horde_RPC
*/
/**
* All variables are from the client standpoint.
*
*
*/
class Horde_RPC_syncml_sync_Final extends Horde_RPC_syncml_sync_command {
function output($currentCmdID, $output)
{
return $currentCmdID;
}
}
-------------- next part --------------
<?php
include_once 'Horde/RPC/syncml_state.php';
include_once 'Horde/RPC/syncml_status.php';
include_once 'Horde/RPC/syncml_command/command.php';
/**
* The Horde_RPC_syncml class provides a SyncML implementation of the
* Horde RPC system.
*
* $Horde: framework/RPC/RPC/syncml.php,v 1.6 2003/12/17 16:02:44 chuck Exp $
*
* Copyright 2003 Anthony Mills <amills at pyramid6.com>
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
*
* @author Anthony Mills <amills at pyramid6.com>
* @version $Revision: 1.6 $
* @since Horde 3.0
* @package Horde_RPC
*/
/**
* All variables are from the client standpoint.
*
*
*/
class Horde_RPC_syncml_command_Results extends Horde_RPC_syncml_command {
var $cmdRef;
function output($currentCmdID, $output)
{
$$attrs = array();
$output->startElement($this->_uri, 'Results', $attrs);
$output->startElement($this->_uri, 'CmdID', $attrs);
$chars = $this->_currentCmdID;
$output->characters($chars);
$output->endElement($this->_uri, 'CmdID');
$output->startElement($this->_uri, 'MsgRef', $attrs);
$chars = $this->_msgID;
$output->characters($chars);
$output->endElement($this->_uri, 'MsgRef');
$output->startElement($this->_uri, 'CmdRef', $attrs);
$chars = $this->_cmdRef;
$output->characters($chars);
$output->endElement($this->_uri, 'CmdRef');
// <Meta>
// <Type xmlns='syncml:metinf'>
// application/vnd.syncml-devinf+xml
// </Type>
// </Meta>
// <Item>
// <Source>
// <LocURI>
// ./devinf11
// </LocURI>
// </Source>
// <Data>
// <DevInf xmlns='syncml:devinf'>
// <VerDTD>
// 1.1
// </VerDTD>
// <Man>
// Synthesis AG
// </Man>
// <Mod>
// Synthesis Sync Server 1.0 Demo
// </Mod>
// <OEM>
// Synthesis AG
// </OEM>
// <SwV>
// 2.0.1.5
// </SwV>
// <DevId>
// SySync Server (textdb,standalone)
// </DevId>
// <DevTyp>
// server
// </DevTyp>
// <UTC>
// </UTC>
// <SupportNumberOfChanges>
// </SupportNumberOfChanges>
// <SupportLargeObjs>
// </SupportLargeObjs>
// <DataStore>
// <SourceRef>
// ./contacts
// </SourceRef>
// <DisplayName>
// contacts
// </DisplayName>
// <Rx-Pref>
// <CTType>
// text/x-vcard
// </CTType>
// <VerCT>
// 2.1
// </VerCT>
// </Rx-Pref>
// <Rx>
// <CTType>
// text/vcard
// </CTType>
// <VerCT>
// 3.0
// </VerCT>
// </Rx>
// <Tx-Pref>
// <CTType>
// text/x-vcard
// </CTType>
// <VerCT>
// 2.1
// </VerCT>
// </Tx-Pref>
// <Tx>
// <CTType>
// text/vcard
// </CTType>
// <VerCT>
// 3.0
// </VerCT>
// </Tx>
// <SyncCap>
// <SyncType>
// 1
// </SyncType>
// <SyncType>
// 2
// </SyncType>
// <SyncType>
// 4
// </SyncType>
// <SyncType>
// 5
// </SyncType>
// <SyncType>
// 6
// </SyncType>
// </SyncCap>
// </DataStore>
// <DataStore>
// <SourceRef>
// ./events
// </SourceRef>
// <DisplayName>
// events
// </DisplayName>
// <Rx-Pref>
// <CTType>
// text/x-vcalendar
// </CTType>
// <VerCT>
// 1.0
// </VerCT>
// </Rx-Pref>
// <Tx-Pref>
// <CTType>
// text/x-vcalendar
// </CTType>
// <VerCT>
// 1.0
// </VerCT>
// </Tx-Pref>
// <SyncCap>
// <SyncType>
// 1
// </SyncType>
// <SyncType>
// 2
// </SyncType>
// <SyncType>
// 4
// </SyncType>
// <SyncType>
// 5
// </SyncType>
// <SyncType>
// 6
// </SyncType>
// </SyncCap>
// </DataStore>
// <DataStore>
// <SourceRef>
// ./tasks
// </SourceRef>
// <DisplayName>
// tasks
// </DisplayName>
// <Rx-Pref>
// <CTType>
// text/x-vcalendar
// </CTType>
// <VerCT>
// 1.0
// </VerCT>
// </Rx-Pref>
// <Tx-Pref>
// <CTType>
// text/x-vcalendar
// </CTType>
// <VerCT>
// 1.0
// </VerCT>
// </Tx-Pref>
// <SyncCap>
// <SyncType>
// 1
// </SyncType>
// <SyncType>
// 2
// </SyncType>
// <SyncType>
// 4
// </SyncType>
// <SyncType>
// 5
// </SyncType>
// <SyncType>
// 6
// </SyncType>
// </SyncCap>
// </DataStore>
// <DataStore>
// <SourceRef>
// ./calendar
// </SourceRef>
// <DisplayName>
// calendar
// </DisplayName>
// <Rx-Pref>
// <CTType>
// text/x-vcalendar
// </CTType>
// <VerCT>
// 1.0
// </VerCT>
// </Rx-Pref>
// <Tx-Pref>
// <CTType>
// text/x-vcalendar
// </CTType>
// <VerCT>
// 1.0
// </VerCT>
// </Tx-Pref>
// <SyncCap>
// <SyncType>
// 1
// </SyncType>
// <SyncType>
// 2
// </SyncType>
// <SyncType>
// 3
// </SyncType>
// <SyncType>
// 4
// </SyncType>
// <SyncType>
// 5
// </SyncType>
// <SyncType>
// 6
// </SyncType>
// </SyncCap>
// </DataStore>
// <DataStore>
// <SourceRef>
// ./notes
// </SourceRef>
// <DisplayName>
// notes
// </DisplayName>
// <Rx-Pref>
// <CTType>
// text/plain
// </CTType>
// <VerCT>
// 1.0
// </VerCT>
// </Rx-Pref>
// <Tx-Pref>
// <CTType>
// text/plain
// </CTType>
// <VerCT>
// 1.0
// </VerCT>
// </Tx-Pref>
// <SyncCap>
// <SyncType>
// 1
// </SyncType>
// <SyncType>
// 2
// </SyncType>
// <SyncType>
// 4
// </SyncType>
// <SyncType>
// 5
// </SyncType>
// <SyncType>
// 6
// </SyncType>
// </SyncCap>
// </DataStore>
// <CTCap>
// <CTType>
// text/x-vcard
// </CTType>
// <PropName>
// BEGIN
// </PropName>
// <ValEnum>
// VCARD
// </ValEnum>
// <PropName>
// END
// </PropName>
// <ValEnum>
// VCARD
// </ValEnum>
// <PropName>
// VERSION
// </PropName>
// <ValEnum>
// 2.1
// </ValEnum>
// <PropName>
// REV
// </PropName>
// <PropName>
// N
// </PropName>
// <PropName>
// TITLE
// </PropName>
// <PropName>
// ORG
// </PropName>
// <PropName>
// EMAIL
// </PropName>
// <PropName>
// URL
// </PropName>
// <PropName>
// TEL
// </PropName>
// <PropName>
// ADR
// </PropName>
// <PropName>
// BDAY
// </PropName>
// <PropName>
// NOTE
// </PropName>
// <CTType>
// text/vcard
// </CTType>
// <PropName>
// BEGIN
// </PropName>
// <ValEnum>
// VCARD
// </ValEnum>
// <PropName>
// END
// </PropName>
// <ValEnum>
// VCARD
// </ValEnum>
// <PropName>
// VERSION
// </PropName>
// <ValEnum>
// 3.0
// </ValEnum>
// <PropName>
// REV
// </PropName>
// <PropName>
// N
// </PropName>
// <PropName>
// TITLE
// </PropName>
// <PropName>
// ORG
// </PropName>
// <PropName>
// EMAIL
// </PropName>
// <PropName>
// URL
// </PropName>
// <PropName>
// TEL
// </PropName>
// <PropName>
// ADR
// </PropName>
// <PropName>
// BDAY
// </PropName>
// <PropName>
// NOTE
// </PropName>
// <CTType>
// text/x-vcalendar
// </CTType>
// <PropName>
// BEGIN
// </PropName>
// <ValEnum>
// VCALENDAR
// </ValEnum>
// <ValEnum>
// VEVENT
// </ValEnum>
// <ValEnum>
// VTODO
// </ValEnum>
// <PropName>
// END
// </PropName>
// <ValEnum>
// VCALENDAR
// </ValEnum>
// <ValEnum>
// VEVENT
// </ValEnum>
// <ValEnum>
// VTODO
// </ValEnum>
// <PropName>
// VERSION
// </PropName>
// <ValEnum>
// 1.0
// </ValEnum>
// <PropName>
// TZ
// </PropName>
// <PropName>
// LAST-MODIFIED
// </PropName>
// <PropName>
// DCREATED
// </PropName>
// <PropName>
// SUMMARY
// </PropName>
// <PropName>
// DESCRIPTION
// </PropName>
// <PropName>
// LOCATION
// </PropName>
// <PropName>
// CATEGORIES
// </PropName>
// <PropName>
// DTSTART
// </PropName>
// <PropName>
// DTEND
// </PropName>
// <PropName>
// ATTENDEE
// </PropName>
// <PropName>
// RRULE
// </PropName>
// <PropName>
// EXDATE
// </PropName>
// <PropName>
// AALARM
// </PropName>
// <PropName>
// DALARM
// </PropName>
// <PropName>
// LOCATION
// </PropName>
// <PropName>
// CATEGORIES
// </PropName>
// <PropName>
// DUE
// </PropName>
// <PropName>
// PRIORITY
// </PropName>
// <PropName>
// STATUS
// </PropName>
// <PropName>
// AALARM
// </PropName>
// <PropName>
// DALARM
// </PropName>
// </CTCap>
// </DevInf>
// </Data>
// </Item>
$output->endElement($$this->_uri, 'Results');
$currentCmdID++;
return $currentCmdID;
}
/** Setter for property sourceRef.
* @param sourceRef New value of property sourceRef.
*
*/
function setCmdRef($cmdRef) {
$this->_cmdRef = $cmdRef;
}
}
-------------- next part --------------
<?php
include_once 'Horde/RPC/syncml_state.php';
include_once 'Horde/RPC/syncml_command/command.php';
/**
* The Horde_RPC_syncml class provides a SyncML implementation of the
* Horde RPC system.
*
* $Horde: framework/RPC/RPC/syncml.php,v 1.6 2003/12/17 16:02:44 chuck Exp $
*
* Copyright 2003 Anthony Mills <amills at pyramid6.com>
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
*
* @author Anthony Mills <amills at pyramid6.com>
* @version $Revision: 1.6 $
* @since Horde 3.0
* @package Horde_RPC
*/
/**
* All variables are from the client standpoint.
*
*
*/
class Horde_RPC_syncml_command_Status extends Horde_RPC_syncml_command {
var $_response;
var $_cmdRef;
var $_cmd; //must be present
var $_sourceRef; //must if not null
var $_targetRef;
var $_chalMetaFormat;
var $_chalMetaType;
var $_chalMetaNextNonce;
var $_itemDataAnchorNext;
function Horde_RPC_syncml_command_status() {
}
/** Creates a new instance of Response */
function Horde_RPC_syncml_command_Status($response, $cmd)
{
$this->_response = $response;
$this->_cmd = $cmd;
}
/** Creates a new instance of Response */
function output($currentCmdID, $output)
{
$attrs = array();
if ($this->_cmd != null) {
$attrs = array();
$output->startElement($this->_uri, 'Status', $attrs);
$output->startElement($this->_uri, 'CmdID', $attrs);
$chars = $this->_currentCmdID;
$output->characters(chars);
$output->endElement($this->_uri, 'CmdID');
$output->startElement($this->_uri, 'MsgRef', $attrs);
$chars = $this->_msgID;
$output->characters(chars);
$output->endElement($this->_uri, 'MsgRef');
$output->startElement($this->_uri, 'CmdRef', $attrs);
$chars = $this->_cmdRef;
$output->characters(chars);
$output->endElement($this->_uri, 'CmdRef');
$output->startElement($this->_uri, 'Cmd', $attrs);
$chars = $this->_cmd;
$output->characters(chars);
$output->endElement($this->_uri, 'Cmd');
if (sourceRef != null) {
$output->startElement($this->_uri, 'SourceRef', $attrs);
$chars = $this->_sourceRef;
$output->characters(chars);
$output->endElement($this->_uri, 'SourceRef');
}
if (targetRef != null) {
$output->startElement($this->_uri, 'TargetRef', $attrs);
$chars = $this->_targetRef;
$output->characters(chars);
$output->endElement($this->_uri, 'TargetRef');
}
if (chalMetaFormat != null && chalMetaType != null && chalMetaNextNonce != null) {
$output->startElement($this->_uri, 'Chal', $attrs);
$output->startElement($this->_uri, 'Meta', $attrs);
$metainfuri = (version == 0) ? NAME_SPACE_URI_METINF : NAME_SPACE_URI_METINF_1_1;
$output->startElement(metainf$this->_uri, 'Format', $attrs);
$chars = $this->_chalMetaFormat;
$output->characters(chars);
$output->endElement(metainf$this->_uri, 'Format');
$output->startElement(metainf$this->_uri, 'Type', $attrs);
$chars = $this->_chalMetaType;
$output->characters(chars);
$output->endElement(metainf$this->_uri, 'Type');
$output->startElement(metainf$this->_uri, 'NextNonce', $attrs);
$chars = $this->_chalMetaNextNonce;
$output->characters(chars);
$output->endElement(metainf$this->_uri, 'NextNonce');
$output->endElement($this->_uri, 'Meta');
$output->endElement($this->_uri, 'Chal');
}
$output->startElement($this->_uri, 'Data', $attrs);
$chars = $this->_response;
$output->characters(chars);
$output->endElement($this->_uri, 'Data');
if ($itemDataAnchorNext != null) {
$output->startElement($this->_uri, 'Item', $attrs);
$output->startElement($this->_uri, 'Data', $attrs);
$metainfuri = ($this->_version == 0) ? SyncMLState.NAME_SPACE_URI_METINF : SyncMLState.NAME_SPACE_URI_METINF_1_1;
$output->startElement($metainfuri, 'Anchor', $attrs);
$output->startElement($metainfuri, 'Next', $attrs);
$chars = $this->_itemDataAnchorNext;
$output->characters(chars);
$output->endElement($metainfuri, 'Next');
$output->endElement($metainfuri, 'Anchor');
$output->endElement($this->_uri, 'Data');
$output->endElement($this->_uri, 'Item');
}
$output->endElement($this->_uri, 'Status');
$currentCmdID++;
}
return $currentCmdID;
}
/** Setter for property response.
* @param response New value of property response.
*
*/
function setResponse($response)
{
$this->_response = $response;
}
/** Setter for property cmd.
* @param cmd New value of property cmd.
*
*/
function setCmd($cmd)
{
$this->_cmd = $cmd;
}
/** Setter for property sourceRef.
* @param sourceRef New value of property sourceRef.
*
*/
function setCmdRef($cmdRef)
{
$this->_cmdRef = $cmdRef;
}
/** Setter for property sourceRef.
* @param sourceRef New value of property sourceRef.
*
*/
function setSourceRef($sourceRef)
{
$this->_sourceRef = $sourceRef;
}
/** Setter for property targetRef.
* @param targetRef New value of property targetRef.
*
*/
function setTargetRef($targetRef)
{
$this->_targetRef = $targetRef;
}
/** Setter for property itemDataAnchorNext.
* @param itemDataAnchorNextNew value of property itemDataAnchorNext.
*
*/
function setItemDataAnchorNext($itemDataAnchorNext)
{
$this->_itemDataAnchorNext = $itemDataAnchorNext;
}
}
?>
More information about the sync
mailing list