Class: CSD::Application::Minisip::Unix

Inherits:
Base show all
Defined in:
lib/csd/application/minisip/unix.rb

Direct Known Subclasses

Darwin, Linux

Instance Method Summary collapse

Methods inherited from Base

#all_components?, #check, #component?, #components, #define_relative_paths, #initialize, #install

Methods inherited from Base

#cleanup_working_directory, #create_working_directory, #define_working_directory, #initialize

Constructor Details

This class inherits a constructor from CSD::Application::Minisip::Base

Instance Method Details

#compileObject

This method is called by the AI when the user requests the task “compile” for MiniSIP.



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/csd/application/minisip/unix.rb', line 26

def compile
  UI.separator
  if all_components?
    UI.info "This operation will install MiniSIP and its dependencies.".green.bold
  else
    UI.info "This operation will install the #{Options.scope} component of MiniSIP.".green.bold
  end
  UI.separator
  install_mode = Options.this_user ? 'Only for this user (inside the working directory)' : 'For all users (sudo)'
  UI.info " Installation mode:       ".green.bold + install_mode.yellow
  introduction
  compile!
end

#compile!Object

This is the internal compile procedure for MiniSIP and its components.



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/csd/application/minisip/unix.rb', line 48

def compile!
  create_working_directory
  HDVIPER.compile          if component? 'hdviper'
  if Options.ffmpeg_first
    X264.compile           if component? 'x264'
    FFmpeg.compile         if component? 'ffmpeg'
    Core.compile           if component? 'core'
  else
    Core.compile           if component? 'core'
    X264.compile           if component? 'x264'
    FFmpeg.compile         if component? 'ffmpeg'
  end
  Plugins.compile          if component? 'plugins'
  Network.compile          if component? 'network'
  Gnome.compile            if component? 'gnome'
  congratulations
end

#congratulationsObject



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/csd/application/minisip/unix.rb', line 66

def congratulations
  if Options.this_user
    Core.run_gtkgui
  else
    cleanup_working_directory
    return unless all_components?
    UI.separator
    UI.info "               MiniSIP installation complete.".green.bold
    UI.info "  Please have a look in your applications menu -> Internet."
    UI.separator
    # Core.run_gtkgui # At this point we could run MiniSIP instead of ending the AI -- if we wanted to.
  end
end

#introductionObject

This method presents a general overview about the task that is to be performed.



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/csd/application/minisip/unix.rb', line 11

def introduction
  UI.debug "Components to be processed: #{components.inspect}"
  if Options.developer
    Core.introduction    if component? 'core'
    FFmpeg.introduction  if component? 'ffmpeg'
    HDVIPER.introduction if component? 'hdviper'
    X264.introduction    if component? 'x264'
    Plugins.introduction if component? 'plugins'
    UI.separator
  end
  super
end

#packageObject

This method is called by the AI when the user requests the task “package” for MiniSIP.



42
43
44
# File 'lib/csd/application/minisip/unix.rb', line 42

def package
  Core.package
end