aboutsummaryrefslogtreecommitdiff
path: root/src/functionexists.cpp
blob: 918cbaa230d4d379bbe3234f8bca8bb713cb0d80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
 * Copyright (C) 2007-2012 Xagasoft, All rights reserved.
 *
 * This file is part of the Xagasoft Build and is released under the
 * terms of the license contained in the file LICENSE.
 */

#include "functionexists.h"

#include <unistd.h>

#include <bu/plugger.h>
PluginInterface3( pluginFunctionExists, exists, FunctionExists, Function,
        "Mike Buland", 0, 1 );

FunctionExists::FunctionExists()
{
}

FunctionExists::~FunctionExists()
{
}

Bu::String FunctionExists::getName() const
{
    return "exists";
}

Variable FunctionExists::call( Variable &input, VarList lParams )
{
    Bu::String sFile;
    if( input.getType() != Variable::typeNone )
    {
        sFile = input.toString();
    }
    else
    {
        sFile = lParams.first().toString();
    }
    if( access( sFile.getStr(), F_OK ) == 0 )
        return Variable( true );
    else
        return Variable( false );
}