use FS::part_svc;
use FS::part_export_option;
use FS::part_export_machine;
+use FS::svc_export_machine;
use FS::export_svc;
#for export modules, though they should probably just use it themselves
$self;
}
+=item svc_machine
+
+=cut
+
+sub svc_machine {
+ my( $self, $svc_x ) = @_;
+
+ return $self->machine unless $self->machine eq '_SVC_MACHINE';
+
+ my $svc_export_machine = qsearchs('svc_export_machine', {
+ 'svcnum' => $svc_x->svcnum,
+ 'exportnum' => $self->exportnum,
+ })
+ #would only happen if you add this export to existing services without a
+ #machine set then try to run exports without setting it... right?
+ or die "No hostname selected for ".($self->exportname || $self->exporttype);
+
+ return $svc_export_machine->part_export_machine->machine;
+}
+
#these should probably all go away, just let the subclasses define em
=item export_insert SVC_OBJECT
export_info()->{$self->exporttype}->{'weight'} || 0;
}
+=item info
+
+Returns a reference to (a copy of) the export's %info hash.
+
+=cut
+
+sub info {
+ my $self = shift;
+ $self->{_info} ||= {
+ %{ export_info()->{$self->exporttype} }
+ };
+}
+
+#default fallbacks... FS::part_export::DID_Common ?
+sub get_dids_can_tollfree { 0; }
+sub get_dids_can_manual { 0; }
+sub get_dids_can_edit { 0; } #don't use without can_manual, otherwise the
+ # DID selector provisions a new number from
+ # inventory each edit
+sub get_dids_npa_select { 1; }
+
=back
=head1 SUBROUTINES