Minsky
MinskyAddon Struct Reference
Inheritance diagram for MinskyAddon:
Inheritance graph
Collaboration diagram for MinskyAddon:
Collaboration graph

Public Member Functions

 MinskyAddon (Env env, Napi::Object exports)
 
Value setMessageCallback (const Napi::CallbackInfo &info)
 
Value setBusyCursorCallback (const Napi::CallbackInfo &info)
 
Value setProgressCallback (const Napi::CallbackInfo &info)
 
Value setBookmarkRefreshCallback (const Napi::CallbackInfo &info)
 
Value setResetScrollCallback (const Napi::CallbackInfo &info)
 
Value cancelProgress (const Napi::CallbackInfo &info)
 
Value call (const Napi::CallbackInfo &info)
 

Public Attributes

minsky::AddOnMinsky addOnMinsky
 

Detailed Description

Definition at line 559 of file addon.cc.

Constructor & Destructor Documentation

◆ MinskyAddon()

MinskyAddon::MinskyAddon ( Env  env,
Napi::Object  exports 
)
inline

Definition at line 565 of file addon.cc.

References call(), cancelProgress(), handleSignal(), minsky::anonymous_namespace{addon.cc}::l_minsky, setBookmarkRefreshCallback(), setBusyCursorCallback(), setMessageCallback(), setProgressCallback(), setResetScrollCallback(), and anonymous_namespace{addon.cc}::tsPromiseResolver.

566  {
567  minsky::l_minsky=&addOnMinsky; // set the global minsky object
568  tsPromiseResolver=TypedThreadSafeFunction<void,PromiseResolver,resolvePromise>::
569  New(env,"TSResolver", 0, 2, nullptr);
570  addOnMinsky.tsDrawNativeWindows_=
571  TypedThreadSafeFunction<minsky::AddOnMinsky,void,minsky::AddOnMinsky::tsDrawNativeWindows>::
572  New(env,"TSDrawNativeWindows",0, 2,&addOnMinsky);
573 
574  DefineAddon(exports, {
575  InstanceMethod("call", &MinskyAddon::call),
576  InstanceMethod("setMessageCallback", &MinskyAddon::setMessageCallback),
577  InstanceMethod("setBusyCursorCallback", &MinskyAddon::setBusyCursorCallback),
578  InstanceMethod("setProgressCallback", &MinskyAddon::setProgressCallback),
579  InstanceMethod("setBookmarkRefreshCallback", &MinskyAddon::setBookmarkRefreshCallback),
580  InstanceMethod("setResetScrollCallback", &MinskyAddon::setResetScrollCallback),
581  InstanceMethod("cancelProgress", &MinskyAddon::cancelProgress)
582  });
583 #ifndef _WIN32
584  signal(SIGTRAP,handleSignal);
585 #endif
586  }
Value setBusyCursorCallback(const Napi::CallbackInfo &info)
Definition: addon.cc:589
minsky::AddOnMinsky addOnMinsky
Definition: addon.cc:563
Value setMessageCallback(const Napi::CallbackInfo &info)
Definition: addon.cc:588
Value setResetScrollCallback(const Napi::CallbackInfo &info)
Definition: addon.cc:592
Value cancelProgress(const Napi::CallbackInfo &info)
Definition: addon.cc:593
Value setBookmarkRefreshCallback(const Napi::CallbackInfo &info)
Definition: addon.cc:591
Value setProgressCallback(const Napi::CallbackInfo &info)
Definition: addon.cc:590
Value call(const Napi::CallbackInfo &info)
Definition: addon.cc:600
TypedThreadSafeFunction< void, PromiseResolver, resolvePromise > tsPromiseResolver
Definition: addon.cc:83
void handleSignal(int)
Definition: addon.cc:553
Here is the call graph for this function:

Member Function Documentation

◆ call()

Value MinskyAddon::call ( const Napi::CallbackInfo &  info)
inline

Definition at line 600 of file addon.cc.

Referenced by MinskyAddon().

601  {
602  const Env env = info.Env();
603  if (info.Length() < 1)
604  {
605  Napi::TypeError::New(env, "Needs to be call(endpoint[, arguments])").ThrowAsJavaScriptException();
606  return env.Null();
607  }
608 
609 #if defined(_PTHREAD_H) && defined(__USE_GNU) && !defined(NDEBUG)
610  pthread_setname_np(pthread_self(),"addon thread");
611 #endif
612 
613  try
614  {
615  json_pack_t arguments(json5_parser::mValue::null);
616  if (info.Length()>1)
617  {
618  const string jsonArguments=info[1].ToString();
619  if (!jsonArguments.empty())
620  read(jsonArguments, arguments);
621  }
622  return addOnMinsky.queueCommand(env,info[0].ToString(),arguments);
623  }
624  catch (const std::exception& ex)
625  {
626  // throw C++ exception as Javascript exception
627  Napi::Error::New(env, ex.what()).ThrowAsJavaScriptException();
628  return env.Null();
629  }
630  catch (...)
631  {
632  Napi::Error::New(env, "unknown exception caught").ThrowAsJavaScriptException();
633  return env.Null();
634  }
635  }
minsky::AddOnMinsky addOnMinsky
Definition: addon.cc:563
Here is the caller graph for this function:

◆ cancelProgress()

Value MinskyAddon::cancelProgress ( const Napi::CallbackInfo &  info)
inline

Definition at line 593 of file addon.cc.

Referenced by MinskyAddon().

593  {
594  *addOnMinsky.progressState.cancel=true;
595  civita::ITensor::cancel(true);
596  return info.Env().Null();
597  }
minsky::AddOnMinsky addOnMinsky
Definition: addon.cc:563
Here is the caller graph for this function:

◆ setBookmarkRefreshCallback()

Value MinskyAddon::setBookmarkRefreshCallback ( const Napi::CallbackInfo &  info)
inline

Definition at line 591 of file addon.cc.

Referenced by MinskyAddon().

591 {return addOnMinsky.setBookmarkRefreshCallback(info);}
minsky::AddOnMinsky addOnMinsky
Definition: addon.cc:563
Here is the caller graph for this function:

◆ setBusyCursorCallback()

Value MinskyAddon::setBusyCursorCallback ( const Napi::CallbackInfo &  info)
inline

Definition at line 589 of file addon.cc.

Referenced by MinskyAddon().

589 {return addOnMinsky.setBusyCursorCallback(info);}
minsky::AddOnMinsky addOnMinsky
Definition: addon.cc:563
Here is the caller graph for this function:

◆ setMessageCallback()

Value MinskyAddon::setMessageCallback ( const Napi::CallbackInfo &  info)
inline

Definition at line 588 of file addon.cc.

Referenced by MinskyAddon().

588 {return addOnMinsky.setMessageCallback(info);}
minsky::AddOnMinsky addOnMinsky
Definition: addon.cc:563
Here is the caller graph for this function:

◆ setProgressCallback()

Value MinskyAddon::setProgressCallback ( const Napi::CallbackInfo &  info)
inline

Definition at line 590 of file addon.cc.

Referenced by MinskyAddon().

590 {return addOnMinsky.setProgressCallback(info);}
minsky::AddOnMinsky addOnMinsky
Definition: addon.cc:563
Here is the caller graph for this function:

◆ setResetScrollCallback()

Value MinskyAddon::setResetScrollCallback ( const Napi::CallbackInfo &  info)
inline

Definition at line 592 of file addon.cc.

Referenced by MinskyAddon().

592 {return addOnMinsky.setResetScrollCallback(info);}
minsky::AddOnMinsky addOnMinsky
Definition: addon.cc:563
Here is the caller graph for this function:

Member Data Documentation

◆ addOnMinsky

minsky::AddOnMinsky MinskyAddon::addOnMinsky

Definition at line 563 of file addon.cc.


The documentation for this struct was generated from the following file: