Object ::xo::library (public)

 ::xotcl::Object ::xo::library[i]

Defined in

Testcases:
No testcase defined.
Source code:
namespace eval ::xo {}
::nsf::object::alloc ::xotcl::Object ::xo::library {}
::xo::library proc require {{-package ""} filename} {
    #:log "--loaded nsv_set [self]-loaded [info script] 1"
    nsv_set [self]-loaded [info script] 1
    set myfile [file tail [info script]]
    set dirname [file dirname [info script]]
    if {$package eq ""} {
      set otherfile $dirname/$filename.tcl
    } else {
      set otherfile $::acs::rootdir/packages/$package/tcl/$filename.tcl
    }
    set vn [self]
    #:log "--exists otherfile $otherfile => [nsv_exists $vn $otherfile]"
    if {[nsv_exists $vn $otherfile]} {
      nsv_set $vn $otherfile [lsort -unique [concat [nsv_get $vn $otherfile] [info script]]]
      #:log "--setting nsv_set $vn $otherfile [lsort -unique [concat [nsv_get $vn $otherfile] $myfile]]"
    } else {
      nsv_set $vn $otherfile [info script]
      #:log "--setting nsv_set $vn $otherfile $myfile"
    }
    #:log "--source when not loaded [self]-loaded $otherfile: [nsv_exists [self]-loaded $otherfile]"
    #:log "--loaded = [lsort [nsv_array names [self]-loaded]]"

    if {![nsv_exists [self]-loaded $otherfile]} {
      :log "--sourcing first $otherfile"
      apm_source $otherfile
      nsv_set [self]-loaded $otherfile 1
    }
  }
::xo::library proc doc comment {
    ad_library $comment
    nsv_set [self]-loaded [info script] 1
    #:log "--loaded nsv_set [self]-loaded [info script] 1"
  }
::xo::library proc source_dependent {} {
    set myfile [file tail [info script]]
    set dirname [file dirname [info script]]
    set vn [self]
    #:log "--check nsv_exists $vn $dirname/$myfile [nsv_exists $vn $dirname/$myfile]"
    if {[nsv_exists $vn $dirname/$myfile]} {
      foreach file [nsv_get $vn $dirname/$myfile] {
        incr ::__source_dependent_level
        ns_log notice "--sourcing dependent ($::__source_dependent_level$myfile -> $file"
        apm_source $file
        incr ::__source_dependent_level -1
      }
    }
  }
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: