root/src/kits/package/DropRepositoryRequest.cpp
/*
 * Copyright 2011-2015, Haiku, Inc. All Rights Reserved.
 * Distributed under the terms of the MIT License.
 *
 * Authors:
 *              Oliver Tappe <zooey@hirschkaefer.de>
 */


#include <package/DropRepositoryRequest.h>

#include <Directory.h>
#include <JobQueue.h>
#include <Path.h>

#include "RemoveRepositoryJob.h"


namespace BPackageKit {


using namespace BPrivate;


DropRepositoryRequest::DropRepositoryRequest(const BContext& context,
        const BString& repositoryName)
        :
        inherited(context),
        fRepositoryName(repositoryName)
{
}


DropRepositoryRequest::~DropRepositoryRequest()
{
}


status_t
DropRepositoryRequest::CreateInitialJobs()
{
        status_t result = InitCheck();
        if (result != B_OK)
                return B_NO_INIT;

        RemoveRepositoryJob* removeRepoJob
                = new (std::nothrow) RemoveRepositoryJob(fContext,
                        BString("Removing repository ") << fRepositoryName,
                        fRepositoryName);
        if (removeRepoJob == NULL)
                return B_NO_MEMORY;
        if ((result = QueueJob(removeRepoJob)) != B_OK) {
                delete removeRepoJob;
                return result;
        }

        return B_OK;
}


}       // namespace BPackageKit