コード例 #1
0
ファイル: core.c プロジェクト: xharbour/core
PHB_ITEM hb_cairoPathItemPut( PHB_ITEM pItem, cairo_path_t * pPath )
{
   cairo_path_t ** ppPath = ( cairo_path_t ** ) hb_gcAlloc( sizeof( cairo_path_t * ), hb_cairo_path_destructor );

   *ppPath = pPath;
   return hb_itemPutPtrGC( pItem, ppPath );
}
コード例 #2
0
ファイル: core.c プロジェクト: xharbour/core
PHB_ITEM hb_cairoItemPut( PHB_ITEM pItem, cairo_t * pCairo )
{
   cairo_t ** ppCairo = ( cairo_t ** ) hb_gcAlloc( sizeof( cairo_t * ), hb_cairo_destructor );

   *ppCairo = pCairo;
   return hb_itemPutPtrGC( pItem, ppCairo );
}
コード例 #3
0
ファイル: pattern.c プロジェクト: Petewg/V-harbour-core
PHB_ITEM hb_cairoPatternItemPut( PHB_ITEM pItem, cairo_pattern_t * pPattern )
{
   cairo_pattern_t ** ppPattern = ( cairo_pattern_t ** ) hb_gcAllocate( sizeof( cairo_pattern_t * ), &s_gcPatternFuncs );

   *ppPattern = pPattern;
   return hb_itemPutPtrGC( pItem, ppPattern );
}
コード例 #4
0
ファイル: core.c プロジェクト: xharbour/core
PHB_ITEM hb_cairoSurfaceItemPut( PHB_ITEM pItem, cairo_surface_t * pSurface )
{
   cairo_surface_t ** ppSurface = ( cairo_surface_t ** ) hb_gcAlloc( sizeof( cairo_surface_t * ), hb_cairo_surface_destructor);

   *ppSurface = pSurface;
   return hb_itemPutPtrGC( pItem, ppSurface );
}
コード例 #5
0
ファイル: hbsockhb.c プロジェクト: antimix/harbour-core
PHB_ITEM hb_socketItemPut( PHB_ITEM pItem, HB_SOCKET sd )
{
   HB_SOCKET * pSocket = ( HB_SOCKET * ) hb_gcAllocate( sizeof( HB_SOCKET ), &s_gcSocketFuncs );

   *pSocket = sd;
   return hb_itemPutPtrGC( pItem, pSocket );
}
コード例 #6
0
ファイル: vfile.c プロジェクト: AmericoBalboa/core
PHB_ITEM hb_fileItemPut( PHB_ITEM pItem, PHB_FILE pFile )
{
   PHB_FILE * fileHolder = ( PHB_FILE * ) hb_gcAllocate( sizeof( PHB_FILE ),
                                                         &s_gcFileFuncs );
   * fileHolder = pFile;
   return hb_itemPutPtrGC( pItem, fileHolder );
}
コード例 #7
0
ファイル: hbsockhb.c プロジェクト: jiangxilong/core
PHB_ITEM hb_sockexItemPut( PHB_ITEM pItem, PHB_SOCKEX pSock )
{
   PHB_SOCKEX * pSockPtr = ( PHB_SOCKEX * ) hb_gcAllocate( sizeof( PHB_SOCKEX ), &s_gcSocketFuncs );

   *pSockPtr = pSock;

   return hb_itemPutPtrGC( pItem, pSockPtr );
}
コード例 #8
0
ファイル: hbsockhb.c プロジェクト: jiangxilong/core
PHB_ITEM hb_socketItemPut( PHB_ITEM pItem, HB_SOCKET sd )
{
   PHB_SOCKEX * pSockPtr = ( PHB_SOCKEX * ) hb_gcAllocate( sizeof( PHB_SOCKEX ), &s_gcSocketFuncs );

   *pSockPtr = hb_sockexNew( sd, NULL, NULL );

   return hb_itemPutPtrGC( pItem, pSockPtr );
}
コード例 #9
0
ファイル: wafunc.c プロジェクト: AmericoBalboa/core
PHB_ITEM hb_dbTransInfoPut( PHB_ITEM pItem, LPDBTRANSINFO lpdbTransInfo )
{
   LPDBTRANSINFO * pHolder;

   pHolder = ( LPDBTRANSINFO * ) hb_gcAllocate( sizeof( LPDBTRANSINFO ), &s_gcTransInfo );
   *pHolder = lpdbTransInfo;

   return hb_itemPutPtrGC( pItem, pHolder );
}
コード例 #10
0
ファイル: hbi18n1.c プロジェクト: JamesLinus/core
static PHB_ITEM hb_i18n_newitem( PHB_I18N_TRANS pI18N )
{
   PHB_I18N_TRANS * pI18NHolder;
   PHB_ITEM pItem = hb_itemNew( NULL );

   if( ! pI18N )
      pI18N = hb_i18n_new();
   pI18NHolder = ( PHB_I18N_TRANS * )
                  hb_gcAllocate( sizeof( PHB_I18N_TRANS ), &s_gcI18NFuncs );
   *pI18NHolder = pI18N;

   return hb_itemPutPtrGC( pItem, pI18NHolder );
}
コード例 #11
0
ファイル: dynlibhb.c プロジェクト: emazv72/core
PHB_ITEM hb_libLoad( PHB_ITEM pLibName, PHB_ITEM pArgs )
{
   void * hDynLib = NULL;

   if( hb_itemGetCLen( pLibName ) > 0 )
   {
      int argc = pArgs ? ( int ) hb_arrayLen( pArgs ) : 0, i;
      const char ** argv = NULL;

      if( argc > 0 )
      {
         argv = ( const char ** ) hb_xgrab( sizeof( char * ) * argc );
         for( i = 0; i < argc; ++i )
            argv[ i ] = hb_arrayGetCPtr( pArgs, i + 1 );
      }

      if( hb_vmLockModuleSymbols() )
      {
         /* use stack address as first level marker */
         hb_vmBeginSymbolGroup( ( void * ) hb_stackId(), HB_TRUE );
#if defined( HB_OS_WIN )
         {
            void * hFileName;

            hDynLib = ( void * ) LoadLibraryEx( HB_ITEMGETSTR( pLibName, &hFileName, NULL ), NULL, LOAD_WITH_ALTERED_SEARCH_PATH );

            hb_strfree( hFileName );
         }
#elif defined( HB_OS_OS2 )
         {
            HB_UCHAR LoadError[ 256 ] = "";  /* Area for load failure information */
            HMODULE hDynModule;
            if( DosLoadModule( ( PSZ ) LoadError, sizeof( LoadError ),
                               ( PCSZ ) hb_itemGetCPtr( pLibName ), &hDynModule ) == NO_ERROR )
               hDynLib = ( void * ) hDynModule;
         }
#elif defined( HB_HAS_DLFCN )
         hDynLib = ( void * ) dlopen( hb_itemGetCPtr( pLibName ), RTLD_LAZY | RTLD_GLOBAL );

         if( ! hDynLib )
         {
            HB_TRACE( HB_TR_DEBUG, ( "hb_libLoad(): dlopen(): %s", dlerror() ) );
         }
#elif defined( HB_CAUSEWAY_DLL )
         hDynLib = LoadLibrary( hb_itemGetCPtr( pLibName ) );
#else
         {
            int iTODO;
         }
#endif
         /* set real marker */
         hb_vmInitSymbolGroup( hDynLib, argc, argv );

         hb_vmUnlockModuleSymbols();
      }

      if( argv )
         hb_xfree( ( void * ) argv );
   }

   if( hDynLib )
   {
      void ** pLibPtr = ( void ** ) hb_gcAllocate( sizeof( void * ), &s_gcDynlibFuncs );
      *pLibPtr = hDynLib;
      return hb_itemPutPtrGC( NULL, pLibPtr );
   }

   return NULL;
}
コード例 #12
0
ファイル: core.c プロジェクト: AmericoBalboa/core
static void mxml_index_ret( mxml_index_t * index )
{
   hb_itemPutPtrGC( hb_stackReturnItem(), mxml_index_new( index ) );
}
コード例 #13
0
ファイル: core.c プロジェクト: AmericoBalboa/core
static void mxml_node_ret( mxml_node_t * node, int iNew )
{
   if( node )
      hb_itemPutPtrGC( hb_stackReturnItem(), mxml_node_new( node, iNew ) );
}
コード例 #14
0
ファイル: core.c プロジェクト: AmericoBalboa/core
static void mxml_node_push( mxml_node_t * node, int iNew )
{
   hb_itemPutPtrGC( hb_stackAllocItem(), mxml_node_new( node, iNew ) );
}