File indexing completed on 2024-04-28 16:01:31

0001 /******************************************************************************
0002  * This file is part of the libqgit2 library
0003  * Copyright (c) 2011 Laszlo Papp <djszapi@archlinux.us>
0004  * Copyright (C) 2013 Leonardo Giordani
0005  *
0006  * This library is free software; you can redistribute it and/or
0007  * modify it under the terms of the GNU Lesser General Public
0008  * License as published by the Free Software Foundation; either
0009  * version 2.1 of the License, or (at your option) any later version.
0010  *
0011  * This library is distributed in the hope that it will be useful,
0012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0014  * Lesser General Public License for more details.
0015  *
0016  * You should have received a copy of the GNU Lesser General Public
0017  * License along with this library; if not, write to the Free Software
0018  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0019  */
0020 
0021 #include "qgitblob.h"
0022 
0023 #include <QtCore/QFile>
0024 
0025 namespace LibQGit2
0026 {
0027 
0028 Blob::Blob(git_blob *blob)
0029     : Object(reinterpret_cast<git_object*>(blob))
0030 {
0031 }
0032 
0033 Blob::Blob( const Blob& other )
0034     : Object(other)
0035 {
0036 }
0037 
0038 Blob::~Blob()
0039 {
0040 }
0041 
0042 const void* Blob::rawContent() const
0043 {
0044     return git_blob_rawcontent(data());
0045 }
0046 
0047 QByteArray Blob::content() const
0048 {
0049     return QByteArray::fromRawData( static_cast<const char *>(rawContent()), rawSize() );
0050 }
0051 
0052 int Blob::rawSize() const
0053 {
0054     return git_blob_rawsize(data());
0055 }
0056 
0057 git_blob* Blob::data() const
0058 {
0059     return reinterpret_cast<git_blob*>(Object::data());
0060 }
0061 
0062 const git_blob* Blob::constData() const
0063 {
0064     return reinterpret_cast<git_blob*>(Object::data());
0065 }
0066 
0067 } // namespace LibQGit2