String LuaState::DumpStack() const { StringStream stream; unsigned int stackTop = GetStackTop(); stream << stackTop << " entries\n"; for (unsigned int i = 1; i <= stackTop; ++i) { stream << i << ": "; switch (GetType(i)) { case LuaType_Boolean: stream << "Boolean(" << ToBoolean(i) << ')'; break; case LuaType_Function: stream << "Function(" << ToPointer(i) << ')'; break; case LuaType_LightUserdata: case LuaType_Userdata: stream << "Userdata(" << ToUserdata(i) << ')'; break; case LuaType_Nil: stream << "Nil"; break; case LuaType_None: stream << "None"; break; case LuaType_Number: stream << "Number(" << ToNumber(i) << ')'; break; case LuaType_String: stream << "String(" << ToString(i) << ')'; break; case LuaType_Table: stream << "Table(" << ToPointer(i) << ')'; break; case LuaType_Thread: stream << "Thread(" << ToPointer(i) << ')'; break; default: stream << "Unknown(" << ToPointer(i) << ')'; break; } stream << '\n'; } return stream.ToString(); }
int CefAppWrapper::Run() { auto hInstance = Process::GetCurrentProcess()->Handle; CefMainArgs cefMainArgs((HINSTANCE)hInstance.ToPointer()); return CefExecuteProcess(cefMainArgs, (CefApp*)_cefApp.get(), NULL); }
#include "stdafx.h" #include "Fingerprint.h" #include <libtorrent\fingerprint.hpp> namespace Ragnar { Fingerprint::Fingerprint(System::String^ id, int major, int minor, int revision, int tag) { auto ptr = System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(id); const char* id_string = static_cast<char*>(ptr.ToPointer()); this->_fingerprint = new libtorrent::fingerprint(id_string, major, minor, revision, tag); System::Runtime::InteropServices::Marshal::FreeHGlobal(ptr); } System::String^ Fingerprint::Id::get() { return gcnew System::String(this->_fingerprint->name); } int Fingerprint::Major::get() { return this->_fingerprint->major_version; } int Fingerprint::Minor::get() { return this->_fingerprint->minor_version; }
#include "MiscUtilities.h" #include "NativeWrapper.h" CStringWrapper::CStringWrapper(System::String^% Source) { P = Marshal::StringToHGlobalAnsi(Source); CString = static_cast<char*>(P.ToPointer()); } ImageResourceManager::ImageResourceManager(String^ BaseName) { Manager = gcnew ResourceManager(BaseName, Assembly::GetExecutingAssembly()); } Image^ ImageResourceManager::CreateImageFromResource(String^ ResourceIdentifier) { try { return dynamic_cast<Image^>(Manager->GetObject(ResourceIdentifier)); } catch (...) { return nullptr; } } void ImageResourceManager::SetupImageForToolStripButton(ToolStripButton^ Control) { Control->Image = CreateImageFromResource(Control->Name); }
void CLispEng::Print(ostream& os, CP form) { form &= ~FLAG_Mark; //!!! os << "<" << (void*)form << ">"; os << String(' ', m_printIndent*2); switch (Type(form)) { /*!!! case TS_NIL: os << "NIL"; break;*/ case TS_CHARACTER: { os << "#\\"; wchar_t ch = AsChar(form); switch (ch) { case '\0': os << "NULL"; break; case '\a': os << "BELL"; break; case '\b': os << "BS"; break; case '\t': os << "TAB"; break; case '\n': os << "NL"; break; case '\r': os << "CR"; break; case '\f': os << "FF"; break; case '\x1B': os << "ESC"; break; case '\x7F': os << "RUBOUT"; break; default: os << (char)ch; break; //!!! } } break; case TS_FIXNUM: os << AsNumber(form); break; case TS_FRAME_PTR: os << "#<FRAME " << (DWORD)AsIndex(form) << ">"; break; case TS_FRAMEINFO: os << "#<FRAMEINFO>"; break; case TS_BIGNUM: os << ToBigInteger(form); break; case TS_FLONUM: os << AsFloatVal(form); break; case TS_SYMBOL: { //!!! Print(get_Special(L_S_PACKAGE));//!!!D CSymbolValue *sv = ToSymbol(form); if (sv->HomePackage == m_packKeyword) os << ':'; else if (!sv->HomePackage) os << "#:"; /*!!! else if (!ToPackage(get_Special(L_S_PACKAGE))->IsPresent(form)) { CPackage *pack = ToPackage(sv->HomePackage); os << pack->m_name << ':'; if (pack->m_mapExternalSym.find(sv) == pack->m_mapExternalSym.end()) os << ':'; }*/ #if UCFG_LISP_SPLIT_SYM os << SymNameByIdx(AsIndex(form)); #else os << sv->m_s; #endif } break; case TS_PATHNAME: os << "#P\"" << AsPathname(form)->ToString() << "\""; break; case TS_RATIO: Print(os, AsRatio(form)->m_numerator); os << "/"; Print(os, AsRatio(form)->m_denominator); break;//!!! case TS_MACRO: os << "#<MACRO>"; break; case TS_COMPLEX: os << "#C()"; //!!! break; case TS_CONS: switch (form) { case 0: os << "NIL"; break; case V_U: os << "#<UNBOUND>"; break; default: CSPtr car = Car(form), cdr = Cdr(form); if (car == S(L_QUOTE)) { if (ConsP(cdr)) { os << "\'"; Print(os, Car(cdr)); break; } } if (car == S(L_BACKQUOTE)) { os << "`"; Print(os, Car(cdr)); } else if (car == S(L_UNQUOTE)) { os << ","; Print(os, Car(cdr)); } else if (car == S(L_SPLICE)) { os << ",@"; Print(os, Car(cdr)); } else { os << "("; PrintList(os, form); os << ")"; } } break; case TS_STRUCT: os << "#<STRUCT " << (DWORD)AsIndex(form) << ">"; break; case TS_STREAM: os << "#<STREAM " << (DWORD)AsIndex(form) << ">"; break; case TS_WEAKPOINTER: os << "<#WEAKPOINTER "; Print(os, ToWeakPointer(form)->m_p); os << ">"; break; case TS_SUBR: case TS_INTFUNC: case TS_CCLOSURE: { os << "#\'"; Push(m_r); pair<CP, CP> pp = GetFunctionName(form); Print(os, pp.second); m_r = Pop(); } break; case TS_PACKAGE: os << "#<PACKAGE " << ToPackage(form)->m_name << ">"; break; case TS_READTABLE: os << "#<READTABLE>"; break; case TS_HASHTABLE: { os << "#S(HASH-TABLE <fun>"; CHashMap& m = *Lisp().ToHashTable(form)->m_pMap; for (CHashMap::iterator i=m.begin(); i!=m.end(); ++i) { os << "("; Print(os, i->first); os << " . "; Print(os, i->second); os << ")"; } os << ">"; } break; case TS_ARRAY: if (StringP(form)) os << "\"" << AsString(form) << "\""; else if (VectorP(form)) { os << "#("; CArrayValue *av = ToArray(form); for (size_t i=0; i<av->GetVectorLength(); i++) { if (i) os << " "; Print(os, av->GetElement(i)); } os << ")"; } else { CArrayValue *av = ToArray(form); os << "<ARRAY " << (DWORD)av->TotalSize() << ">"; //!!! /*!!! os << "#("; for (int i=0; i<vv->m_count-1; i++) { Print(vv->m_pData[i]); os << " "; } os << ")";*/ } break; case TS_OBJECT: { os << "#<OBJECT "; //!!! Print(ToObject(form)->m_class); os << " "; //!!! Print(ToObject(form)->m_slots); os << ">"; } break; case TS_SYMBOLMACRO: { os << "#<SYMBOL-MACRO "; CSymbolMacro *sm = ToSymbolMacro(form); Print(os, sm->m_macro); os << ">"; } break; #if UCFG_LISP_FFI case TS_FF_PTR: os << "#<POINTER " << ToPointer(form) << ">"; break; #endif default: os << "#<Bad Form>"; //!!! Ext::Throw(E_FAIL); } }