blob: f64c72115b32d17c859afc71d0f59ab8c20b20a6 [file] [log] [blame]
/*
* ====================================================================
* Copyright (c) 2000-2002 CollabNet. All rights reserved.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://subversion.tigris.org/license-1.html.
* If newer versions of this license are posted there, you may use a
* newer version instead, at your option.
*
* This software consists of voluntary contributions made by many
* individuals. For exact contribution history, see the revision
* history and logs, available at http://subversion.tigris.org/.
* ====================================================================
*/
#include <ruby.h>
#include <svn_types.h>
#include <svn_error.h>
#include "svn_ruby.h"
static VALUE
is_valid_revnum (VALUE class, VALUE aRevnum)
{
svn_revnum_t revnum = NUM2LONG (aRevnum);
if (SVN_IS_VALID_REVNUM (revnum))
return Qtrue;
else
return Qfalse;
}
static void
define_prop (VALUE module, const char *name, const char *value)
{
rb_define_const (module, name, rb_str_new2 (value));
}
void
svn_ruby_init_types (void)
{
VALUE mSvnNodeKind, mSvnRevnum, mSvnProp;
mSvnNodeKind = rb_define_module_under (svn_ruby_mSvn, "NodeKind");
rb_define_const (mSvnNodeKind, "NONE", INT2FIX (svn_node_none));
rb_define_const (mSvnNodeKind, "FILE", INT2FIX (svn_node_file));
rb_define_const (mSvnNodeKind, "DIR", INT2FIX (svn_node_dir));
rb_define_const (mSvnNodeKind, "UNKNOWN", INT2FIX (svn_node_unknown));
mSvnRevnum = rb_define_module_under (svn_ruby_mSvn, "Revnum");
rb_define_const (mSvnRevnum, "INVALID_REVNUM", INT2FIX (SVN_INVALID_REVNUM));
rb_define_const (mSvnRevnum, "IGNORED_REVNUM", INT2FIX (SVN_IGNORED_REVNUM));
rb_define_singleton_method (mSvnRevnum, "validRevnum?", is_valid_revnum, 1);
mSvnProp = rb_define_module_under (svn_ruby_mSvn, "Prop");
define_prop (mSvnProp, "PREFIX", SVN_PROP_PREFIX);
define_prop (mSvnProp, "REVISION_AUTHOR", SVN_PROP_REVISION_AUTHOR);
define_prop (mSvnProp, "REVISION_LOG", SVN_PROP_REVISION_LOG);
define_prop (mSvnProp, "REVISION_DATE", SVN_PROP_REVISION_DATE);
define_prop (mSvnProp, "MIME_TYPE", SVN_PROP_MIME_TYPE);
define_prop (mSvnProp, "IGNORE", SVN_PROP_IGNORE);
define_prop (mSvnProp, "CHARSET", SVN_PROP_CHARSET);
define_prop (mSvnProp, "WC_PREFIX", SVN_PROP_WC_PREFIX);
define_prop (mSvnProp, "CUSTOM_PREFIX", SVN_PROP_CUSTOM_PREFIX);
}