예제 #1
0
        public WaveletBlipOperation(string blipId, BlipOperation blipOp)
            : base(blipOp.Context)
        {
            Preconditions.CheckNotNullOrEmpty(blipId);
            Preconditions.CheckNotNull(blipOp);

            BlipId = blipId;
            BlipOp = blipOp;
        }
예제 #2
0
        public static OperationPair<BlipOperation> Transform(BlipOperation clientOperation,
            BlipOperation serverOperation)
        {
            if (clientOperation is BlipContentOperation && serverOperation is BlipContentOperation)
            {
                var clientBlipContentOp = (BlipContentOperation) clientOperation;
                var serverBlipContentOp = (BlipContentOperation) serverOperation;
                IDocOp clientContentOp = clientBlipContentOp.ContentOp;
                IDocOp serverContentOp = serverBlipContentOp.ContentOp;

                OperationPair<IDocOp> transformedDocOps = Transform(clientContentOp, serverContentOp);

                clientOperation = new BlipContentOperation(clientBlipContentOp.Context,
                    transformedDocOps.ClientOperation);
                serverOperation = new BlipContentOperation(serverBlipContentOp.Context,
                    transformedDocOps.ServerOperation);
            }

            // Apply identity transform by default
            return new OperationPair<BlipOperation>(clientOperation, serverOperation);
        }