Beispiel #1
0
    private static async Task WriteFileInfo(this Stream Stream, Google.Apis.Drive.v3.Data.File FileInfo)
    {
        if (FileInfo == null)
        {
            await Stream.WriteBool(false);

            return;
        }

        await Stream.WriteBool(true);

        await Stream.WriteString(FileInfo.Name);

        await Stream.WriteString(FileInfo.Id);

        await Stream.WriteString(FileInfo.Md5Checksum);

        await Stream.WriteBool(FileInfo.IsDirectory());

        await Stream.WriteBool(FileInfo.Trashed.Value);

        if (FileInfo.ModifiedTime == null)
        {
            await Stream.WriteBool(false);
        }
        else
        {
            await Stream.WriteBool(true);

            await Stream.WriteS64(FileInfo.ModifiedTime.Value.ToBinary());
        }


        if (FileInfo.Permissions == null)
        {
            await Stream.WriteBool(false);
        }
        else
        {
            await Stream.WriteBool(true);

            await Stream.WriteU32((uint)FileInfo.Permissions.Count);

            foreach (var Perm in FileInfo.Permissions)
            {
                await Stream.WriteString(Perm.Id);
            }
        }
    }