Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(241)

Unified Diff: swig/Lib/typemaps/enumint.swg

Issue 553095: Checkin swig binaries for win, linux and Mac... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: '' Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « swig/Lib/typemaps/cwstring.swg ('k') | swig/Lib/typemaps/exception.swg » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: swig/Lib/typemaps/enumint.swg
===================================================================
--- swig/Lib/typemaps/enumint.swg (revision 0)
+++ swig/Lib/typemaps/enumint.swg (revision 0)
@@ -0,0 +1,28 @@
+/* ------------------------------------------------------------
+ * Enums mapped as integer values
+ * ------------------------------------------------------------ */
+
+%apply int { enum SWIGTYPE };
+%apply const int& { const enum SWIGTYPE& };
+
+%typemap(in,fragment=SWIG_AsVal_frag(int),noblock=1) const enum SWIGTYPE& (int val, int ecode, $basetype temp) {
+ ecode = SWIG_AsVal(int)($input, &val);
+ if (!SWIG_IsOK(ecode)) {
+ %argument_fail(ecode, "$type", $symname, $argnum);
+ } else {
+ temp = %static_cast(val,$basetype);
+ $1 = &temp;
+ }
+}
+
+%typemap(varin,fragment=SWIG_AsVal_frag(int),noblock=1) enum SWIGTYPE {
+ if (sizeof(int) != sizeof($1)) {
+ %variable_fail(SWIG_AttributeError,"$type", "arch, read-only $name");
+ } else {
+ int ecode = SWIG_AsVal(int)($input, %reinterpret_cast(&$1,int*));
+ if (!SWIG_IsOK(ecode)) {
+ %variable_fail(ecode, "$type", "$name");
+ }
+ }
+}
+
« no previous file with comments | « swig/Lib/typemaps/cwstring.swg ('k') | swig/Lib/typemaps/exception.swg » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698