Commit e20c869c authored by Manfred Kutas's avatar Manfred Kutas

ZP-745 Added SyncBaseBodyPart class.

Released under the Affero GNU General Public License (AGPL) version 3.
parent e1754139
<?php
/***********************************************
* File : syncbasebodypart.php
* Project : Z-Push
* Descr : WBXML AirSyncBase body part entities that can be parsed
* directly (as a stream) from WBXML.
* It is automatically decoded according to $mapping,
* and the Sync WBXML mappings.
*
* Created : 11.07.2017
*
* Copyright 2017 Zarafa Deutschland GmbH
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Consult LICENSE file for details
************************************************/
class SyncBaseBodyPart extends SyncObject {
public $status;
public $type; // Should be html (2)
public $estimatedDataSize;
public $truncated;
public $data;
public $preview;
function __construct() {
$mapping = array(
SYNC_AIRSYNCBASE_STATUS => array ( self::STREAMER_VAR => "status"),
SYNC_AIRSYNCBASE_TYPE => array ( self::STREAMER_VAR => "type"),
SYNC_AIRSYNCBASE_ESTIMATEDDATASIZE => array ( self::STREAMER_VAR => "estimatedDataSize",
self::STREAMER_PRIVATE => 0), // when stripping private we remove the body, so the size needs to be 0
SYNC_AIRSYNCBASE_TRUNCATED => array ( self::STREAMER_VAR => "truncated"),
SYNC_AIRSYNCBASE_DATA => array ( self::STREAMER_VAR => "data",
self::STREAMER_TYPE => self::STREAMER_TYPE_STREAM_ASPLAIN,
self::STREAMER_PROP => self::STREAMER_TYPE_MULTIPART,
self::STREAMER_RONOTIFY => true,
self::STREAMER_PRIVATE => true), // just remove the body when stripping private
SYNC_AIRSYNCBASE_PREVIEW => array ( self::STREAMER_VAR => "preview",
self::STREAMER_PRIVATE => true)
);
parent::__construct($mapping);
// Indicates that this SyncObject supports the private flag and stripping of private data.
$this->supportsPrivateStripping = true;
}
}
......@@ -134,6 +134,7 @@ return array(
'SyncAttendee' => $baseDir . '/lib/syncobjects/syncattendee.php',
'SyncBaseAttachment' => $baseDir . '/lib/syncobjects/syncbaseattachment.php',
'SyncBaseBody' => $baseDir . '/lib/syncobjects/syncbasebody.php',
'SyncBaseBodyPart' => $baseDir . '/lib/syncobjects/syncbasebodypart.php',
'SyncCollections' => $baseDir . '/lib/core/synccollections.php',
'SyncContact' => $baseDir . '/lib/syncobjects/synccontact.php',
'SyncDeviceInformation' => $baseDir . '/lib/syncobjects/syncdeviceinformation.php',
......
......@@ -141,6 +141,7 @@ class ComposerStaticInitd6749fc2fb9944bbe86b2b7d79a7852f
'SyncAttendee' => __DIR__ . '/../..' . '/lib/syncobjects/syncattendee.php',
'SyncBaseAttachment' => __DIR__ . '/../..' . '/lib/syncobjects/syncbaseattachment.php',
'SyncBaseBody' => __DIR__ . '/../..' . '/lib/syncobjects/syncbasebody.php',
'SyncBaseBodyPart' => __DIR__ . '/../..' . '/lib/syncobjects/syncbasebodypart.php',
'SyncCollections' => __DIR__ . '/../..' . '/lib/core/synccollections.php',
'SyncContact' => __DIR__ . '/../..' . '/lib/syncobjects/synccontact.php',
'SyncDeviceInformation' => __DIR__ . '/../..' . '/lib/syncobjects/syncdeviceinformation.php',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment